Animation
Overlay
Toggle

Activation

This component has automatic activation you don't need to assign custom variants for activations.

If you only need to show/hide and animate a node consider using Xt.on and Xt.off instead of using a complex interaction component.

Animation

Use Tailwind CSS to assign animation (e.g. translate, transition-property, transition-duration, transition-timing-function).

Use Tailwind CSS variants off:, group-off:, on:, group-on:, in:, group-in:, out:, group-out: to assign animations.

You can also customize xt-backdrop animations.

If you want to animate from starting values different from out: values assign transition to in: and out: variants.

Use Tailwind CSS variants dir-before:, group-dir-before:, group-off-before:, group-on-before:, group-in-before:, group-out-before:, dir-after:, group-dir-after:, group-off-after:, group-on-after:, group-in-after:, group-out-after: to assign animations.

Direction needs multiple mode to work.

When you use animations you need to specity the duration of the animation for proper interactions.

You can also set component's default duration instead of specify it on each component with Xt.options.

Xt.options['xt-overlay'] = {
  duration: 500,
}

Duration and Delay

See toggle duration and delay for more info.

Duration

You can set activation duration with a number of milliseconds or a function executed each time with arguments { current, total, el, self }.

You can also set duration to two requestAnimationFrame with the string raf.

SyntaxDefault / ArgumentsDescription
Optionduration:Function|Number|StringfalseActivation and Deactivation duration
OptiondurationIn:Function|Number|StringfalseActivation duration
OptiondurationOut:Function|Number|StringfalseDeactivation duration

You can also assign duration on single nodes with data-xt-duration="Milliseconds" or data-xt-duration-in="Milliseconds" and data-xt-duration-out="Milliseconds"

Delay

You can set activation delay with a number of milliseconds or a function executed each time with arguments { current, total, el, self }.

You can also set duration to two requestAnimationFrame with the string raf.

SyntaxDefault / ArgumentsDescription
Optiondelay:Function|Number|StringfalseActivation and Deactivation delay
OptiondelayIn:Function|Number|StringfalseActivation delay
OptiondelayOut:Function|Number|StringfalseDeactivation delay

You can also assign delay on single nodes with data-xt-delay="Milliseconds" or data-xt-delay-in="Milliseconds" and data-xt-delay-out="Milliseconds"

Different delay for in and out desynchronized the animation use it with caution, prefer a normal delay. on single nodes** with data-xt-delay="Milliseconds" or data-xt-delay-in="Milliseconds" and data-xt-delay-out="Milliseconds"

Queue

The queue option controls sequential activations putting them in a queue, or with false it executes activations instantly.

SyntaxDefault / ArgumentsDescription
Optionqueue:Object|false{ elements: false, targets: true, elementsInner: false, targetsInner: true }Queue activations e.g.: { elements: false, targets: true, elementsInner: false, targetsInner: true }

Queue needs multiple mode to work.

Css Animation

You can use also css animations, just add them with class names .on, .in, .out, .done, .dir-before and .dir-after.

Direction needs multiple mode to work.

Js Animation

You can use also javascript animations, just use drop api.

SyntaxDescription
Propertydirection:NumberDirection 1 or -1

Direction needs multiple mode to work.

Design Animation

Use .xt-design when you want to animate the design independently from the content, use relative on parent element and on other elements on the same level of .xt-design for fixing z-index issues.

Collapse

Assign options.collapseHeight or options.collapseWidth and overflow-hidden, transition-all on collapse nodes.

SyntaxDefault / ArgumentsDescription
OptioncollapseHeight:StringfalseType of elements that collapse vertically, can be elements, targets, elementsInner, targetsInner
OptioncollapseWidth:StringfalseType of elements that collapse horizzontally, can be elements, targets, elementsInner, targetsInner

On collapse nodes do not to use margin or padding.