PHPackages                             pixelcoda/content-gsap-animation - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. pixelcoda/content-gsap-animation

ActiveTypo3-cms-extension[Utility &amp; Helpers](/categories/utility)

pixelcoda/content-gsap-animation
================================

TYPO3 CMS extension to have some fun and animate your content elements

v3.0.8(1y ago)1407GPL-3.0-or-laterPHPPHP &gt;=8.2.0CI passing

Since May 7Pushed 4d ago1 watchersCompare

[ Source](https://github.com/CasianBlanaru/pixelcoda-content-gsap-animation)[ Packagist](https://packagist.org/packages/pixelcoda/content-gsap-animation)[ Docs](https://www.pixelcoda.de)[ RSS](/packages/pixelcoda-content-gsap-animation/feed)WikiDiscussions main Synced 3w ago

READMEChangelog (10)Dependencies (29)Versions (14)Used By (0)

Content GSAP Animation
======================

[](#content-gsap-animation)

[![Content GSAP Animation icon](ext_icon.svg)](ext_icon.svg)

GSAP-powered scroll animations for TYPO3 content elements. Editors choose an animation in the content element form; the extension renders the required `data-gsap-*` attributes and initializes GSAP ScrollTrigger in the frontend.

[![TYPO3 backend animation settings flow](Documentation/Images/Settings/backend-settings-animation-flow.gif)](Documentation/Images/Settings/backend-settings-animation-flow.gif)

Highlights
----------

[](#highlights)

- TYPO3 12.4, 13.4 and 14.3+ compatible within the TYPO3 14 release line
- Fluid Styled Content support
- Bootstrap Package v13, v14 and v15 support
- Fade, slide, zoom and flip animation presets
- Backend preview with duration, delay and easing support
- Full-width premium backend preview with readable dark-mode styling, GSAP GIF preset examples and automatic headless-output indicator
- Extended settings for offset, anchor placement, once and mirror behavior
- BITV-friendly behavior via `prefers-reduced-motion`
- Headless-ready structured animation data for custom renderers and APIs
- Local vendored GSAP and ScrollTrigger assets, no CDN dependency

Installation
------------

[](#installation)

```
composer require pixelcoda/content-gsap-animation
```

Then run TYPO3 extension setup:

```
vendor/bin/typo3 extension:setup
```

TYPO3 Setup
-----------

[](#typo3-setup)

For TYPO3 13 and TYPO3 14 projects using Site Sets, add the Site Set dependency:

```
dependencies:
  - pixelcoda/content-gsap-animation
```

For classic TypoScript templates, include the matching setup for your rendering stack:

- `Content GSAP Animation: Fluid Styled Content`
- `Content GSAP Animation: Bootstrap Package v13.x`
- `Content GSAP Animation: Bootstrap Package v14.x`
- `Content GSAP Animation: Bootstrap Package v15.x`

The Bootstrap Package number refers to the Bootstrap Package major version, not the TYPO3 major version.

Editor Usage
------------

[](#editor-usage)

Open a content element and use the **Animation** tab. Select an animation preset and adjust timing. If extended settings are enabled in the extension configuration, editors can also set offset, anchor placement, once and mirror behavior.

The backend preview shows the selected animation on a content-card mockup and displays GIF examples for common presets such as fade, slide, zoom and flip. This helps editors compare the animation possibilities without leaving the form.

Documentation media:

- [Original TYPO3 backend settings flow GIF](Documentation/Images/Settings/backend-settings-animation-flow.gif)
- [Styled frontend demo](Documentation/Images/Reports/frontend-styled.png)
- [Lighthouse 100 report](Documentation/Images/Reports/lighthouse-100.png)
- [Static premium preview](Documentation/Images/Settings/premium-preview.png)
- [Animation tab](Documentation/Images/Settings/animation-tab.png)
- [Extended settings](Documentation/Images/Settings/extended-settings.png)
- [Footer label](Documentation/Images/Settings/footer-label.png)

Lighthouse
----------

[](#lighthouse)

[![Styled frontend demo](Documentation/Images/Reports/frontend-styled.png)](Documentation/Images/Reports/frontend-styled.png)

[![Lighthouse 100 report](Documentation/Images/Reports/lighthouse-100.png)](Documentation/Images/Reports/lighthouse-100.png)

Verified on the local TYPO3 test page with an animated content element and bundled GSAP assets:

- Performance: 100
- Accessibility: 100
- Best Practices: 100
- SEO: 100
- FCP: 1.2 s
- LCP: 1.7 s
- TBT: 20 ms
- CLS: 0

Accessibility
-------------

[](#accessibility)

The frontend script respects `prefers-reduced-motion: reduce`. If the visitor has reduced motion enabled, animation attributes are ignored and elements remain visible without transform or opacity animation.

Headless Usage
--------------

[](#headless-usage)

Headless is not an editor setting and there is no toggle to enable it in the content element form. The extension always exposes structured animation data when the data processor is used by the selected TypoScript setup.

The data processor exposes both rendered HTML attributes and structured animation data:

- `animationSettings`: raw HTML attribute string for Fluid layouts
- `gsapAnimationSettings`: legacy raw HTML attribute string
- `animationSettingsData`: structured array for headless/API usage
- `gsapAnimationSettingsData`: legacy structured array alias

Example structured data:

```
{
  "animation": "fade-up",
  "duration": 800,
  "delay": 0,
  "easing": "power2.out",
  "offset": 120,
  "anchorPlacement": "top-center",
  "once": true,
  "mirror": false
}
```

Custom Fluid layouts can keep using:

```
{f:if(condition: animationSettings, then: '{animationSettings -> f:format.raw()}')}
```

Headless renderers should consume `animationSettingsData` and decide in the frontend application whether to use GSAP, native CSS, framework-native animation or no animation. Keep the reduced-motion decision in the frontend so API responses stay presentation-neutral.

In short: editors only choose the animation. Integrators consume `animationSettingsData` in custom Fluid layouts, JSON responses, API resources or headless frontend adapters.

Development
-----------

[](#development)

Install PHP dependencies:

```
composer update --prefer-dist
```

Build JavaScript bundles:

```
cd Resources/Public
yarn install
yarn build
```

Run checks:

```
composer test
composer test:functional
```

Functional tests require TYPO3 Testing Framework database credentials. With DDEV, use root credentials so the test runner can create temporary databases.

Documentation
-------------

[](#documentation)

Full documentation is shipped with the extension:

The TYPO3 documentation URL can be enabled once docs.typo3.org has indexed the package.

###  Health Score

43

—

FairBetter than 90% of packages

Maintenance76

Regular maintenance activity

Popularity17

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 85.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~2 days

Total

10

Last Release

396d ago

Major Versions

1.0.0 → 3.0.12025-05-07

v1.0.1 → v3.0.62025-05-25

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/18697022?v=4)[casianus](/maintainers/casianus)[@casianus](https://github.com/casianus)

---

Top Contributors

[![CasianBlanaru](https://avatars.githubusercontent.com/u/23030087?v=4)](https://github.com/CasianBlanaru "CasianBlanaru (36 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (3 commits)")[![google-labs-jules[bot]](https://avatars.githubusercontent.com/in/842251?v=4)](https://github.com/google-labs-jules[bot] "google-labs-jules[bot] (3 commits)")

---

Tags

toolsfrontendTYPO3 CMStypo3Animationspixelcoda

###  Code Quality

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/pixelcoda-content-gsap-animation/health.svg)

```
[![Health](https://phpackages.com/badges/pixelcoda-content-gsap-animation/health.svg)](https://phpackages.com/packages/pixelcoda-content-gsap-animation)
```

###  Alternatives

[baschte/content-animations

TYPO3 CMS extension to have some fun and animate your content elements

2287.7k](/packages/baschte-content-animations)[wazum/sluggi

TYPO3 extension for URL slug management with inline editing, auto-sync, locking, access control, and redirects

41515.2k](/packages/wazum-sluggi)[jweiland/events2

Events 2 - Create single and recurring events

2165.2k3](/packages/jweiland-events2)[t3sbs/t3sbootstrap

Startup extension to use bootstrap 5 classes, components and more out of the box. Example and info: \[www.t3sbootstrap.de\](https://www.t3sbootstrap.de)

2316.0k](/packages/t3sbs-t3sbootstrap)[jweiland/maps2

Create maps with Marker, Area, Routes or Radius based on Google Maps or OpenStreetMap

1493.3k17](/packages/jweiland-maps2)[b13/geocoding

Services for using geocoding from Google inside TYPO3 database records

1666.6k](/packages/b13-geocoding)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
