Drupal is a registered trademark of Dries Buytaert
Release: reCAPTCHA 8.x-3.5 Minor update available for module recaptcha (8.x-3.5). Release: Search API Solr 4.3.14 Minor update available for module search_api_solr (4.3.14). Release: ECA: Event - Condition - Action 2.1.22 Minor update available for module eca (2.1.22). Release: WebProfiler 11.2.1 Minor update available for module webprofiler (11.2.1). Usage Milestone: Entity Browser Module entity_browser crossed 100,000 active installs. Release: Editoria11y SI (SiteImprove) 3.0.0 Major update available for module editoria11y_si (3.0.0). Release: Diagnosis 1.0.3 Minor update available for theme diagnosis (1.0.3). Release: DiBa Integration 1.3.3 Minor update available for module diba_integration (1.3.3). Release: AlternativeCommerce NovaPoshta API 1.1.10 Minor update available for module basket_novaposhta (1.1.10). Module Revived: Commerce Currency Resolver 2.0.2 Module commerce_currency_resolver updated after 10 months of inactivity (2.0.2).

Barba.js

2 sites No security coverage
View on drupal.org

This module integrates Barba.js to provide smooth, SPA-like page transitions for your Drupal site. It allows for quick setup with automatic loading of local builds or a CDN fallback, and an optional UI for granular control over where and how the transitions are applied.

Barba JS integrates the Barba.js library with Drupal to deliver smooth,
SPA‑like page transitions with minimal setup. It auto‑loads a local build when
present, or falls back to the official CDN. The optional UI submodule lets you
control where and how the library is attached.

Features

  • Smooth, SPA‑like page transitions using Barba.js.
  • No jQuery dependency; lightweight UMD builds.
  • Automatic local vs. CDN loading with safe fallback.
  • Optional plugins: CSS, Prefetch, Router.
  • Granular control via “Barba JS UI” (themes, paths, plugins, variant).

Use this module when you want faster, more fluid navigation without adopting a
full SPA framework. Typical use cases include content sites, portfolios, blogs,
and marketing pages where page transitions improve perceived performance and UX.

Post-Installation

  1. Enable Barba JS (auto‑attaches Barba to frontend pages).
  2. (Optional) Enable Barba JS UI for configuration at
    Configuration → User interface → Barba
    (/admin/config/user-interface/barba/settings).
  3. Choose attach method: Local (if UMD files exist) or CDN.
  4. Select plugins (CSS / Prefetch / Router) and build variant (min/non‑min).
  5. Limit loading by theme or by path patterns as needed.
  6. Add your transition code in your theme or a custom module:
    barba.init({
      transitions: [{
        name: 'fade',
        async leave({ current }) {
          await gsap.to(current.container, { opacity: 0 });
        },
        enter({ next }) {
          return gsap.from(next.container, { opacity: 0 });
        }
      }]
    });

Additional Requirements

  • None. Barba.js can load from the bundled dist/ or jsDelivr CDN.
  • (Optional) Local install: place UMD builds under
    libraries/barba/dist/ (or multisite equivalent).
  • Barba JS UI (submodule): adds a configuration UI.
  • GSAP (optional): for richer animation timelines.

Similar projects

Modules that provide PJAX/AJAX navigation may offer partial page swaps, but
Barba JS focuses on transition orchestration, view lifecycle hooks, and plugin
ecosystem (CSS/Prefetch/Router) while staying library‑agnostic and lightweight.

Supporting this Module

Enjoying this project? You can support maintenance and new features by
sponsoring issues on the project queue or contacting the maintainer on
Drupal.org.

Community Documentation

Activity

Tracked releases
2
Tracked since
Aug 2025
Latest release
1 year ago
Releases (12 mo)
0 ▼ from 2
Maintenance
Dormant

Releases

Version Type Release date
1.0.0-alpha1 Pre-release Aug 10, 2025
1.0.x-dev Dev Aug 10, 2025