Documentation

Documentation

SDK State

This feature is available with Motion+

This feature is available with Motion+

This feature is available with Motion+

The Motion Studio SDK provides some basic state models for handling animation editing.

TransitionState

Transitions represent Motion's animation options.

TransitionState is always created with both easing and spring values, with type determining which is currently active, to allow for easy switching between transition type without dropping state.

import { TransitionState } from "motion-studio"

const state = new TransitionState()

The format is as following:

type TransitionType = "easing" | "spring"

interface EasingConfig {
    duration: number
    ease: BezierDefinition
}

interface SpringConfig {
    duration: number
    bounce: number
    stiffness: number
    damping: number
    mass: number
    type: "time" | "physics"
    isVisualDuration: boolean
}

interface TransitionState {
  type: TransitionType
  easing: EasingConfig
  spring: SpringConfig
}

URL serialisation

These utilities allow you to serialise the TransitionState into a URL query parameter, and back out of a URL, enabling shareable configuration links.

toShareQueryString

Serialises a TransitionState object into a URL query string.

import { toShareQueryString } from "motion-studio"

const queryString = toShareQueryString(state)
// Output: "transition=%7B%22type%22%3A%22spring%22...%7D"

fromShareURL

Parses a new TransitionState out of a full URL string. Returns null if the transition parameter is missing or invalid.

import { fromShareURL } from "motion-studio"

const state = fromShareURL(window.location.href)

The Motion Studio SDK provides some basic state models for handling animation editing.

TransitionState

Transitions represent Motion's animation options.

TransitionState is always created with both easing and spring values, with type determining which is currently active, to allow for easy switching between transition type without dropping state.

import { TransitionState } from "motion-studio"

const state = new TransitionState()

The format is as following:

type TransitionType = "easing" | "spring"

interface EasingConfig {
    duration: number
    ease: BezierDefinition
}

interface SpringConfig {
    duration: number
    bounce: number
    stiffness: number
    damping: number
    mass: number
    type: "time" | "physics"
    isVisualDuration: boolean
}

interface TransitionState {
  type: TransitionType
  easing: EasingConfig
  spring: SpringConfig
}

URL serialisation

These utilities allow you to serialise the TransitionState into a URL query parameter, and back out of a URL, enabling shareable configuration links.

toShareQueryString

Serialises a TransitionState object into a URL query string.

import { toShareQueryString } from "motion-studio"

const queryString = toShareQueryString(state)
// Output: "transition=%7B%22type%22%3A%22spring%22...%7D"

fromShareURL

Parses a new TransitionState out of a full URL string. Returns null if the transition parameter is missing or invalid.

import { fromShareURL } from "motion-studio"

const state = fromShareURL(window.location.href)

The Motion Studio SDK provides some basic state models for handling animation editing.

TransitionState

Transitions represent Motion's animation options.

TransitionState is always created with both easing and spring values, with type determining which is currently active, to allow for easy switching between transition type without dropping state.

import { TransitionState } from "motion-studio"

const state = new TransitionState()

The format is as following:

type TransitionType = "easing" | "spring"

interface EasingConfig {
    duration: number
    ease: BezierDefinition
}

interface SpringConfig {
    duration: number
    bounce: number
    stiffness: number
    damping: number
    mass: number
    type: "time" | "physics"
    isVisualDuration: boolean
}

interface TransitionState {
  type: TransitionType
  easing: EasingConfig
  spring: SpringConfig
}

URL serialisation

These utilities allow you to serialise the TransitionState into a URL query parameter, and back out of a URL, enabling shareable configuration links.

toShareQueryString

Serialises a TransitionState object into a URL query string.

import { toShareQueryString } from "motion-studio"

const queryString = toShareQueryString(state)
// Output: "transition=%7B%22type%22%3A%22spring%22...%7D"

fromShareURL

Parses a new TransitionState out of a full URL string. Returns null if the transition parameter is missing or invalid.

import { fromShareURL } from "motion-studio"

const state = fromShareURL(window.location.href)

Motion+

Motion+

Motion+

Level up your animations with Motion+

Unlock the full vault of 300+ Motion examples, premium APIs, private Discord and GitHub, and powerful VS Code animation editing tools.

One-time payment, lifetime updates.

Motion is supported by the best in the industry.