INLINE NOTIFICATION: Page-level notifications for system status, warnings, errors, successes, and highlights
VARIANTS: info | warning | error | success | highlight
CLASSES: .tw-inline-notification | .tw-inline-notification-{variant} | .tw-inline-notification-icon | .tw-inline-notification-content | .tw-inline-notification-title | .tw-inline-notification-message | .tw-inline-notification-actions | .tw-inline-notification-close

In-flow notifications that live within the page content. Unlike floating notifications (toast-style, fixed position), inline notifications persist until explicitly dismissed or are permanently visible. Supports optional icon, title, message, action buttons, and close button. Requires inline_notification_controller.js for dismiss behavior.

All Variants

Variants: Five semantic variants for different notification types. Each shown here with icon, title, message, action buttons, and close button. Use .tw-inline-notification-{variant} to set the color scheme.

New admissions cycle is now open

Year 7 entry for 2027 is accepting applications. You can configure deadlines and requirements in the settings.

All applications processed

147 applications have been reviewed and decisions have been recorded. Offer letters are ready to send.

New feature: Automated waitlist management

Waitlisted applicants are now automatically offered places when spots become available. Configure your preferences in settings.

<div class="tw-inline-notification tw-inline-notification-info" role="status">
  <div class="tw-inline-notification-icon"><i class="fa-solid fa-circle-info"></i></div>
  <div class="tw-inline-notification-content">
    <p class="tw-inline-notification-title">Title</p>
    <p class="tw-inline-notification-message">Message</p>
    <div class="tw-inline-notification-actions">
      <button class="tw-btn tw-btn-sm tw-btn-outline-secondary">Action</button>
    </div>
  </div>
  <button class="tw-inline-notification-close" aria-label="Close notification">
    <i class="fa-solid fa-xmark"></i>
  </button>
</div>

Title Only

Title Only: The simplest notification — just a title with an icon and close button. Useful for brief, one-line messages that need no further explanation.

The admissions portal is scheduled for maintenance tonight at 10pm.

Changes saved successfully.

<div class="tw-inline-notification tw-inline-notification-info" role="status">
  <div class="tw-inline-notification-icon"><i class="fa-solid fa-circle-info"></i></div>
  <div class="tw-inline-notification-content">
    <p class="tw-inline-notification-title">Title text only</p>
  </div>
  <button class="tw-inline-notification-close" ...><i class="fa-solid fa-xmark"></i></button>
</div>

Message Only

Message Only: A notification with just body text and no title. Useful for simple informational messages that don't need a heading.

Applications submitted after the deadline will be placed on the waitlist automatically.

<div class="tw-inline-notification tw-inline-notification-info">
  <div class="tw-inline-notification-icon"><i class="fa-solid fa-circle-info"></i></div>
  <div class="tw-inline-notification-content">
    <p class="tw-inline-notification-message">Message text only</p>
  </div>
  <button class="tw-inline-notification-close" ...><i class="fa-solid fa-xmark"></i></button>
</div>

Without Icon

No Icon: The icon element is optional. Omit .tw-inline-notification-icon for a cleaner, text-only layout.

System update scheduled

A maintenance window is planned for Saturday 22 March from 2am to 6am. The portal will be unavailable during this time.

<div class="tw-inline-notification tw-inline-notification-info">
  <div class="tw-inline-notification-content">
    <p class="tw-inline-notification-title">Title</p>
    <p class="tw-inline-notification-message">Message</p>
  </div>
  <button class="tw-inline-notification-close" ...><i class="fa-solid fa-xmark"></i></button>
</div>

Without Actions

No Actions: Notifications can omit the action buttons area. This is the most common pattern — just informational content with a close button.

Multiple entry points available

This school accepts applications for Year 7, Year 9, and Sixth Form entry. Select the appropriate entry point when creating a new application.

Bulk import complete

Successfully imported 52 applicant records from the uploaded spreadsheet.

<div class="tw-inline-notification tw-inline-notification-info">
  <div class="tw-inline-notification-icon"><i class="fa-solid fa-circle-info"></i></div>
  <div class="tw-inline-notification-content">
    <p class="tw-inline-notification-title">Title</p>
    <p class="tw-inline-notification-message">Message</p>
  </div>
  <button class="tw-inline-notification-close" ...><i class="fa-solid fa-xmark"></i></button>
</div>

Non-Dismissible

Non-Dismissible: Omit the close button and the Stimulus controller to create a notification that is always visible. These are useful for persistent system messages.

Welcome to Admissions+

Get started by configuring your school profile and setting up your first admissions cycle.

<div class="tw-inline-notification tw-inline-notification-warning" role="alert">
  <div class="tw-inline-notification-icon"><i class="fa-solid fa-triangle-exclamation"></i></div>
  <div class="tw-inline-notification-content">
    <p class="tw-inline-notification-title">Title</p>
    <p class="tw-inline-notification-message">Message</p>
  </div>
</div>


Note: No close button, no data-controller, no dismiss action.

Rich Content

Rich Content: The message area supports rich HTML content including lists, links, and structured text. This is useful for detailed error reports or feature explanations.

What's new in this release

  • Automated waitlist management with configurable rules
  • Bulk communication templates for offer and rejection letters
  • Enhanced reporting with export to PDF and Excel
  • Improved accessibility across all form components
Tip: Use a <div> instead of <p> for .tw-inline-notification-message when the content includes block-level elements like lists.

Stacked Notifications

Stacked: Multiple inline notifications stack vertically with space-y-3 spacing. This is the natural layout when multiple notifications appear in sequence within a page.

Application reference: APP-2026-0847

Use this reference number in all correspondence regarding this application.

<div class="tw:space-y-3">
  <div class="tw-inline-notification tw-inline-notification-error">...</div>
  <div class="tw-inline-notification tw-inline-notification-warning">...</div>
  <div class="tw-inline-notification tw-inline-notification-info">...</div>
</div>

Interactive Demo

Live: These notifications use data-controller="inline-notification" for real dismiss behavior. Click the close button or press Escape (when focused within) to dismiss. The notification fades out and is removed from the DOM.

Try dismissing this notification

Click the close button or focus within and press Escape to dismiss.

This one disappears too

All interactive notifications animate out smoothly before being removed from the DOM.

<div class="tw-inline-notification tw-inline-notification-info"
     data-controller="inline-notification"
     data-action="keydown.escape->inline-notification#dismiss"
     role="status">
  <div class="tw-inline-notification-icon"><i class="fa-solid fa-circle-info"></i></div>
  <div class="tw-inline-notification-content">...</div>
  <button class="tw-inline-notification-close"
          data-action="click->inline-notification#dismiss"
          aria-label="Close notification">
    <i class="fa-solid fa-xmark"></i>
  </button>
</div>