### Start Development Server
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/README.md
Runs the development server to preview your Docus site locally.
```bash
yarn dev
```
--------------------------------
### Manually Install v-gsap-nuxt (npm)
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/1.installation/1.getting-started.md
Install the v-gsap-nuxt package using npm. This is the first step for manual installation.
```bash
npm i v-gsap-nuxt
```
--------------------------------
### Install Dependencies
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/README.md
Installs project dependencies using Yarn.
```bash
yarn install
```
--------------------------------
### v-gsap.fromTo Example
Source: https://context7.com/holux-design/v-gsap-nuxt/llms.txt
Define explicit start and end states for animations. The directive value must be an array of two tween-vars objects.
```vue
Pop in
Scroll to reveal
```
--------------------------------
### v-gsap.from, .to, .set Examples
Source: https://context7.com/holux-design/v-gsap-nuxt/llms.txt
Animate elements from a state, to a state, or set properties instantly. Use these directives for basic element animations on mount.
```vue
Hello World
Spinning box
Hidden initially
```
--------------------------------
### Install v-gsap-nuxt for Vue (standalone)
Source: https://context7.com/holux-design/v-gsap-nuxt/llms.txt
Install the package using npm. Then, register the `vGsapVue` directive in your main Vue application file.
```bash
npm i v-gsap-nuxt
```
```typescript
// main.ts
import { createApp } from 'vue'
import App from './App.vue'
import { vGsapVue } from 'v-gsap-nuxt/vue'
const app = createApp(App)
app.directive('gsap', vGsapVue({
presets: [],
breakpoint: 768,
scroller: '',
}))
app.mount('#app')
```
--------------------------------
### Local Development Commands
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/README.md
Commands for setting up local development, including installing dependencies, preparing types, running the playground or docs, building the playground, checking code quality, and releasing new versions.
```bash
# Install dependencies
npm install
# Generate type stubs
npm run dev:prepare
# Develop with the playground
npm run dev:playground
# OR
# Develop with the Docs
npm run dev:docs
# Build the playground
npm run dev:build
# Run ESLint
npm run dev:check
# Release new version
npm run release
```
--------------------------------
### Full GSAPTransition Example with Custom Properties
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/7.v-if.md
Demonstrates a comprehensive usage of GSAPTransition with custom duration, delay, appear animation, ease, and hidden properties.
```vue
Hello World
```
--------------------------------
### Advanced SplitText Customization Example
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/8.splittext.md
Demonstrates advanced SplitText configuration with custom class names and specifying the HTML tag for split words.
```vue
Advanced Configuration Example
```
--------------------------------
### v-gsap Inline Animation Syntax Example
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/1.installation/3.Philosophy.md
Demonstrates the readable and writeable inline format for defining animations with v-gsap. This syntax aims to break down everyday animations into a comfortable structure.
```javascript
v-gsap.whenVisible.stagger.once.from=...
```
--------------------------------
### Manually Install v-gsap-nuxt (nuxt.config.ts)
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/1.installation/1.getting-started.md
Add 'v-gsap-nuxt' to the modules array in your nuxt.config.ts file to enable the module.
```typescript
modules: [
'v-gsap-nuxt'
]
```
--------------------------------
### Entrance with Custom Start/End Points
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/2.examples.md
Define custom scroll trigger start and end points for entrance animations using `start` and `end` properties.
```vue
```
--------------------------------
### Pinned Timeline Animation Configuration
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/5.timeline.md
Configure pinned timelines using 'start' and 'end' properties to control when the animation is pinned and for how long.
```vue
```
--------------------------------
### Using the `useGSAP()` Composable for Scripted Animations
Source: https://context7.com/holux-design/v-gsap-nuxt/llms.txt
Access the shared GSAP instance within `
Animated from script
```
--------------------------------
### v-gsap.whenVisible Examples
Source: https://context7.com/holux-design/v-gsap-nuxt/llms.txt
Trigger animations when an element scrolls into view, automatically wrapping GSAP's ScrollTrigger. Options include `once`, `fromInvisible`, `reversible`, custom `start`/`end`, `scrub`, and `markers`.
```vue
Appears on scroll
One-shot entrance
Reverses when scrolling back up
Custom scroll window
Debugging markers visible
```
--------------------------------
### Add v-gsap-nuxt Module
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/0.index.md
Install the v-gsap-nuxt module using npx to add GSAP animation capabilities to your Nuxt.js project.
```bash
npx nuxi module add v-gsap-nuxt
```
--------------------------------
### Add opacity: 0 and opacity: 1 states with v-gsap.fromInvisible
Source: https://context7.com/holux-design/v-gsap-nuxt/llms.txt
Use `.fromInvisible` to set the hidden state to `opacity: 0` and the visible state to `opacity: 1`. This prevents content from flashing before the animation starts. It's particularly useful for hero elements that appear above the fold.
```vue
Hero headline
Card reveal
```
--------------------------------
### Initialize Docus Project
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/README.md
Use this command to initialize a new Docus project from the themes/docus template.
```bash
npx nuxi init -t themes/docus
```
--------------------------------
### Build for Edge Side Rendering
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/README.md
Builds the application for deployment to serverless environments like Vercel Functions or Netlify Functions.
```bash
yarn build
```
--------------------------------
### Preview Static Build
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/README.md
Locally previews the static build generated by the `yarn generate` command.
```bash
yarn preview
```
--------------------------------
### Build for Static Generation
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/README.md
Generates static HTML files for deployment to any static hosting provider. The output is placed in the .output/public directory.
```bash
yarn generate
```
--------------------------------
### Entrance Animation with `.entrance` Preset
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/2.examples.md
Utilize the `.entrance` modifier with a preset like `slide-left` for a predefined entrance animation.
```vue
```
--------------------------------
### Predefined Entrance Animations
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/3.modifiers.md
Use the `.entrance` modifier with predefined animations like `.slide-left`, `.fade`, or `.scale`. These modifiers apply common entrance effects and utilize `.whenVisible.once` internally.
```html
...
...
...
```
--------------------------------
### Entrance Animations with .fromInvisible
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/3.modifiers.md
Use .fromInvisible to add an initial opacity: 0 state and opacity: 1 to the target state, preventing elements from being visible before animation.
```typescript
v-gsap.fromInvisible.to={...}
```
--------------------------------
### Basic Fade-In Entrance
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/2.examples.md
Use `.whenVisible.from` to create a simple fade-in animation from the left when an element enters the viewport.
```vue
```
--------------------------------
### Create sequenced timelines with v-gsap.timeline and v-gsap.add
Source: https://context7.com/holux-design/v-gsap-nuxt/llms.txt
Compose multi-step animation timelines directly in the template using `.timeline` and `.add`. Animations are applied in DOM order by default. Use `.withPrevious` for parallel animations or `.order-N` to specify a custom sequence.
```vue
Title
Body copy
Headline
Appears first
Appears at same time
First
Third
Second
Two-step element
Step 1
Step 2
```
--------------------------------
### Use built-in entrance presets with v-gsap.entrance
Source: https://context7.com/holux-design/v-gsap-nuxt/llms.txt
Leverage `.entrance` for pre-defined scroll-triggered animations. These presets internally use `.whenVisible.once`. Available presets include slide animations (left, right, top, bottom), fade, scale, and scale-full.
```vue
Slides in from left
Slides in from right
Drops in from top
Rises from bottom
Fades in
Scales from 75%
Scales from 0%
```
--------------------------------
### Basic Animation Types in v-gsap
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/3.modifiers.md
Use .from, .to, .fromTo for animating between states, and .call for executing functions. .call with .whenVisible acts like .once.
```typescript
v-gsap.from={...}
v-gsap.to={...}
v-gsap.fromTo=[{...},{...}]
v-gsap.call(() => {...})
v-gsap.whenVisible.call(() => {...})
```
--------------------------------
### Staggered Entrance Animation for List Items
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/2.examples.md
Animate multiple list items sequentially as they enter the viewport using the `.stagger` modifier.
```html
Option 1
Option 2
Option 3
```
--------------------------------
### Parallel Animation Steps in a Timeline
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/5.timeline.md
Use the .withPrevious modifier to run an animation step concurrently with the preceding animation step in the timeline.
```html
This runs at the
same time
```
--------------------------------
### Timeline Animation Triggered on Visibility
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/5.timeline.md
Combine .timeline with .whenVisible to create entrance animations that play only when the element becomes visible in the viewport.
```html
Hello World
They see me animating
```
--------------------------------
### Debug Entrance Animations with Markers
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/2.examples.md
Enable scroll trigger markers for debugging entrance animations by adding the `.markers` modifier.
```vue
```
--------------------------------
### Create hover animations with v-gsap.whileHover
Source: https://context7.com/holux-design/v-gsap-nuxt/llms.txt
Use the `.whileHover` directive to play an animation when the mouse enters an element and reverse it when the mouse leaves. Use `.noReverse` to prevent the animation from reversing on mouse leave, keeping the element in its final state.
```vue
Stays red after hover
```
--------------------------------
### Basic Timeline Animation
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/5.timeline.md
Use .timeline on a parent element to group animations on its children. Animations are added using .add.
```html
Hello World
They see me animating
```
--------------------------------
### Hover Animation (Basic)
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/2.examples.md
Animate an element to a target state when hovered using `.whileHover.to`.
```html
```
--------------------------------
### Cursor Attraction with `.magnetic`
Source: https://context7.com/holux-design/v-gsap-nuxt/llms.txt
Make elements magnetically follow the cursor when it's nearby using the `.magnetic` directive. Strength modifiers like `.weak`, `.weaker`, `.stronger`, and `.strong` allow you to control the attraction force.
```vue
Strongly magnetic link
Weakly magnetic div
```
--------------------------------
### Infinite Swaying Text Animation
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/8.splittext.md
Create an infinite animation where text sways up and down using `yoyo` and `repeat` with a character split.
```vue
Swaying text
```
--------------------------------
### Desktop-Only Animation
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/2.examples.md
Apply an animation that only runs on desktop devices, with infinite repetition.
```html
```
--------------------------------
### Using useGSAP() Composable in Vue
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/6.composable.md
Use the `useGSAP()` composable within `onMounted` to perform GSAP animations from your script section. This is an alternative when the directive approach is not feasible.
```vue
```
--------------------------------
### Differing Mobile/Desktop Animations
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/2.examples.md
Apply different animations for desktop and mobile devices to the same element.
```html
```
--------------------------------
### One-Time Entrance Animation
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/2.examples.md
Use the `.once` modifier to ensure an entrance animation plays only a single time when the element becomes visible.
```vue
```
--------------------------------
### Add Presets Option to nuxt.config.ts
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/4.presets.md
To enable presets, add the `presets` array to the `vgsap` configuration in your `nuxt.config.ts` file. This array will hold your custom preset definitions.
```typescript
vgsap: {
presets: []
}
```
--------------------------------
### Responsive Text Animation with SplitText
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/8.splittext.md
Apply different SplitText animations based on screen size using .mobile and .desktop modifiers. Ensure the base element has the v-gsap directive.
```vue
Different behavior on mobile and desktop
```
--------------------------------
### Per-Character/Word/Line Animations with `.splitText`
Source: https://context7.com/holux-design/v-gsap-nuxt/llms.txt
Utilize GSAP's SplitText plugin with the `.splitText` directive for granular animations on characters, words, or lines. Modifiers like `.chars`, `.words`, `.lines`, and `.stagger` allow for complex effects. Custom SplitText options and callbacks can also be configured.
```vue
Character by character
Word by word on scroll
Each line rises from beneath a mask
KABOOM!
Flip in
With callback
Responsive split animation
Title
Subtitle follows after title completes
```
--------------------------------
### Custom SplitText Configuration
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/8.splittext.md
Configure SplitText behavior by passing a 'splitText' object with options like 'reduceWhiteSpace', 'wordDelimiter', and CSS class names for split elements.
```vue
Text with custom configuration
```
--------------------------------
### Smooth Animation with Custom Fonts
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/8.splittext.md
Ensure accurate text measurements and smooth animations when using custom web fonts by setting `splitText.waitForFonts` to `true`.
```vue
Smooth with custom fonts
```
--------------------------------
### Animate Text with Custom Scroll Trigger and Value
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/2.examples.md
Configure custom scroll trigger points and the text content for the `.animateText` animation.
```html
```
--------------------------------
### Register Custom GSAP Plugin
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/3.Information/1.gsap-plugins.md
Register a custom GSAP plugin, such as RoughEase from EasePack, using the useGSAP composable before the component mounts. This ensures the plugin is available for GSAP animations.
```vue
```
--------------------------------
### Multiple Animation Steps on a Single Element
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/5.timeline.md
Apply multiple animation steps to a single element within a timeline by using multiple v-gsap directives on that element.
```html
Hello World
```
--------------------------------
### Defining Reusable Animation Presets in `nuxt.config.ts`
Source: https://context7.com/holux-design/v-gsap-nuxt/llms.txt
Create custom animation shortcuts in your Nuxt configuration file for easy reuse across your application. Presets can define modifiers and animation values.
```typescript
// nuxt.config.ts
export default defineNuxtConfig({
modules: ['v-gsap-nuxt'],
vgsap: {
presets: [
{
name: 'stagger-right',
modifiers: 'whenVisible.stagger.once.from',
value: { autoAlpha: 0, x: -32 },
},
{
name: 'pop-in',
modifiers: 'whenVisible.once.fromTo',
value: [{ scale: 0, opacity: 0 }, { scale: 1, opacity: 1, duration: 0.5 }],
},
],
},
})
```
--------------------------------
### Define a New Preset
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/4.presets.md
Define a preset by specifying its `name`, `modifiers`, and `value`. The `modifiers` string should include the directive parts that follow `v-gsap.`, and `value` is the animation configuration object.
```typescript
vgsap: {
presets: [
{
name: 'stagger-right',
modifiers: 'whenVisible.stagger.once.from',
value: { autoAlpha: 0, x: -32 }
}
]
}
```
--------------------------------
### SplitText Line Animation
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/2.examples.md
Animate multi-line text line by line when it enters the viewport, with a stagger effect and playing only once.
```vue
This is a multi-line text
that animates line by line
when it enters the viewport
```
--------------------------------
### Viewport-Conditional Animations with `.mobile` / `.desktop`
Source: https://context7.com/holux-design/v-gsap-nuxt/llms.txt
Restrict animations to specific viewport widths. The default breakpoint is 768px, but it can be configured. Use `.whenVisible` to combine with visibility.
```vue
Desktop entrance
Mobile entrance
Responsive animation
```
--------------------------------
### Listen for Split Event
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/8.splittext.md
Handle text splitting events using `addEventListener` for the 'vgsap:split' DOM event, allowing external JavaScript to react to split instances.
```javascript
el.addEventListener('vgsap:split', (e) => {
const { el, split } = e.detail
// do something
})
```
--------------------------------
### State-Driven Animations with `.onState`
Source: https://context7.com/holux-design/v-gsap-nuxt/llms.txt
Trigger animations when a data attribute changes to a specific value. Ensure the data attribute is reactive and correctly bound.
```vue
Accordion panel
Highlights when index is 2
Profile panel
```
--------------------------------
### Single Playback with .once
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/3.modifiers.md
Ensure animations play only once when scrolling down and remain in their final state when scrolling back up.
```typescript
v-gsap.whenVisible.once.to={...}
```
--------------------------------
### Timeline with SplitText Animations
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/2.examples.md
Combine multiple SplitText animations within a GSAP timeline, animating titles and subtitles sequentially.
```vue
Main Title
Subtitle that follows
```
--------------------------------
### Parallax Effect (Faster with Custom Speed)
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/2.examples.md
Apply a faster parallax effect with a custom speed multiplier using `.parallax.faster-N`.
```html
Lorem Ipsum...
```
--------------------------------
### Hover Animations with .whileHover
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/3.modifiers.md
Define animations that play when the user hovers over an element. By default, these animations reverse when the hover ends.
```typescript
v-gsap.whileHover.to={...}
```
--------------------------------
### Basic v-if Animation with GSAPTransition
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/7.v-if.md
Wrap an element with v-if in GSAPTransition to apply default opacity animations when it appears or disappears. The default duration is 0.5s.
```vue
Hello World
```
--------------------------------
### Debugging Animations with .markers
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/3.modifiers.md
Add visual markers to your animations for easier debugging during development.
```typescript
v-gsap.whenVisible.markers.to={...}
```
--------------------------------
### Import and Register Vue Directive
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/1.installation/4.vue.only.md
Import the `vGsapVue` directive from `v-gsap-nuxt/vue` and register it with your Vue application instance in `main.ts`. Ensure this is done after app initialization and before mounting.
```typescript
import { vGsapVue } from 'v-gsap-nuxt/vue';
// const app = createApp(App);
app.directive('gsap', vGsapVue());
// app.mount('#app');
```
--------------------------------
### Configure v-gsap-nuxt Options
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/1.installation/2.configuration.md
Define custom presets, breakpoints, scrollers, and composable behavior in your nuxt.config.ts file. This allows for advanced customization of GSAP animations within your Nuxt.js project.
```typescript
vgsap: {
presets: [],
breakpoint: 768,
scroller: '',
composable: true
}
```
--------------------------------
### Viewport Specific Animations
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/3.modifiers.md
Control animations based on viewport size using `.mobile` or `.desktop` modifiers. The breakpoint is 768px, and window resizing is handled automatically. Both can be used on the same element.
```html
...
...
...
```
--------------------------------
### Staggered Group Transitions
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/7.v-if.md
Enable staggered animations for group transitions by setting the 'stagger' prop and adding ':data-index="idx"' to each element. A default stagger of 0.1s is applied.
```vue
{{ item.name }}
```
--------------------------------
### Nuxt Configuration for v-gsap-nuxt
Source: https://context7.com/holux-design/v-gsap-nuxt/llms.txt
Configure v-gsap-nuxt in nuxt.config.ts. Options include presets, breakpoint, scroller, and composable auto-import.
```typescript
// nuxt.config.ts – manual registration
export default defineNuxtConfig({
modules: ['v-gsap-nuxt'],
vgsap: {
presets: [], // reusable animation presets
breakpoint: 768, // px breakpoint for .mobile / .desktop modifiers
scroller: '', // CSS selector for a custom scroll container
composable: true, // auto-import useGSAP() composable (default true)
},
})
```
--------------------------------
### Split Text into Lines
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/8.splittext.md
Use the `.lines` split type to animate text line by line. This is ideal for multi-line text where each line should animate independently.
```vue
This is a long text that spans
across multiple lines and each line
animates separately from the others
```
--------------------------------
### Complex SplitText Animations
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/8.splittext.md
Create complex animations using SplitText by providing an array of from-to animation objects, including stagger and easing.
```vue
Complex animation
```
--------------------------------
### Split Text Animation - Lines
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/3.modifiers.md
Animate multi-line text line by line using the `.splitText.lines` modifier. Ensure text is structured with line breaks for this to work effectively.
```html
Multi-line text
animates line by line
```
--------------------------------
### Reversible Animations with .once.reversible
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/3.modifiers.md
Allows animations to reverse when scrolling back up, enabling them to play again when scrolling down. This was the default behavior before.
```typescript
v-gsap.whenVisible.once.reversible.to={...}
```
--------------------------------
### SplitText Word Animation with Reveal Mask
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/2.examples.md
Animate words with a reveal effect using a mask as they enter the viewport, with a stagger delay.
```vue
Words appearing with reveal effect
```
--------------------------------
### Fast Stagger Animation
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/8.splittext.md
Achieve a rapid sequential animation by setting a small `stagger` value for character animations.
```vue
Fast animation
```
--------------------------------
### Custom Ordering of Timeline Steps
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/5.timeline.md
Use the .order-N modifier to define a custom sequence for animation steps within a timeline, overriding the default HTML order.
```html
Hello World
They see me animatingThey see me animating
Still here
```
--------------------------------
### SplitText Integration in Timelines
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/8.splittext.md
Incorporate SplitText animations within GSAP timelines using the .timeline and .add directives. Different split types can be used per element within the same timeline.
```vue
Main title
Subtitle that follows
```
--------------------------------
### Using Reusable Animation Presets in Vue Components
Source: https://context7.com/holux-design/v-gsap-nuxt/llms.txt
Reference custom animation presets defined in `nuxt.config.ts` by their name using the `v-gsap.preset` directive. This simplifies applying common animation patterns.
```vue
Item 1
Item 2
Item 3
Pop in card
```
--------------------------------
### Adding Multiple Animation Steps to a Timeline
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/5.timeline.md
Add individual animation steps to a timeline using the .add modifier on child elements. Steps are ordered by their appearance in the HTML by default.
```html
Hello World
Still here
```
--------------------------------
### Timeline Callback for Update Events
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/5.timeline.md
Attach callbacks like .onUpdate to a timeline to execute custom logic during the animation's progress. The callback receives a timeline snapshot.
```vue
...
```
--------------------------------
### Character Masks for Reveal
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/8.splittext.md
Use the `.mask.chars` modifier to create a reveal effect where each character is masked and animates into view.
```vue
Text with character masks
```
--------------------------------
### Split Text into Words
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/8.splittext.md
Use the `.words` split type to animate text word by word. This is useful for sentence-level reveals.
```vue
This sentence animates word by word
```
--------------------------------
### Configure v-gsap-nuxt Directive in Vue
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/1.installation/4.vue.only.md
Configure the `vGsapVue` directive with custom settings directly during initialization in `main.ts`. This allows for global configuration of presets, breakpoints, scrollers, and composable behavior within your Vue app.
```typescript
app.directive('gsap', vGsapVue({
presets: [],
breakpoint: 768,
scroller: '',
composable: true
}));
```
--------------------------------
### Line Masks with Stagger
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/8.splittext.md
Combine line masking with a stagger effect to reveal each line sequentially from below.
```vue
Each line appears from below
with a very elegant
mask effect
```
--------------------------------
### Animating Elements with `` Component
Source: https://context7.com/holux-design/v-gsap-nuxt/llms.txt
Wrap elements controlled by `v-if` or `v-show` to animate their enter and exit transitions using GSAP. Supports various props for customization like `hidden`, `duration`, `ease`, and `appear`.
```vue
Hello World
Slides in from left
Animates on load
No opacity change
{{ item.name }}
Bounces in with delay
```
--------------------------------
### Animate Text using Value
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/2.examples.md
Provide the text content directly as a string value to the `.animateText` modifier.
```html
```
--------------------------------
### Callback on Split
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/8.splittext.md
Execute a function after text is split using the `splitText.onSplit` callback. Access the SplitText instance and the element for custom logic.
```vue
Inspect words after split
```
--------------------------------
### Split Text Animation - Characters
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/3.modifiers.md
Animate text character by character using the `.splitText.chars` modifier. This requires GSAP SplitText functionality.
```html
Hello World
```
--------------------------------
### Infinite Animations with .infinitely
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/3.modifiers.md
Set the animation timeline to repeat indefinitely by using the .infinitely modifier.
```typescript
v-gsap.infinitely.to={...}
```
--------------------------------
### Word Masks with Visibility Trigger
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/8.splittext.md
Apply a mask to words and trigger the animation only when the element becomes visible in the viewport.
```vue
Reveal effect for words
```
--------------------------------
### Typewriter Effect
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/8.splittext.md
Simulate a typewriter effect by animating characters with a small stagger, making them appear one after another.
```vue
This text appears as if being typed
```
--------------------------------
### Split Text into Characters
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/8.splittext.md
Use the `.chars` split type to animate text letter by letter. This is the default behavior if no split type is specified.
```vue
Character by character animation
```
--------------------------------
### Split Text with Custom Options
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/3.modifiers.md
Pass custom options to SplitText, such as `waitForFonts` or `onSplit`, directly within the directive value. This allows fine-grained control over font loading and callbacks.
```html
Hello World
```
--------------------------------
### Slow Stagger Animation
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/8.splittext.md
Create a deliberate, slow sequential animation by setting a larger `stagger` value for character animations.
```vue
Slow animation
```
--------------------------------
### Group Transitions with v-for and v-if
Source: https://github.com/holux-design/v-gsap-nuxt/blob/main/docs/content/2.usage/7.v-if.md
Use the 'group' flag on GSAPTransition to animate multiple elements, typically used with v-for and v-if. This leverages Vue's TransitionGroup component.
```vue