SSGOI API Reference

This document provides a comprehensive reference for the SSGOI (Svelte Smooth Go Transition Library) API.

Table of Contents

Ssgoi Component

The Ssgoi component is the main wrapper for your entire Svelte application.

Props

Prop Type Description
onNavigate Function SvelteKit’s navigation function
config TransitionConfig Your transition configuration
class string (Optional) Custom class for styling

Usage

<script lang="ts">import { onNavigate } from "$app/navigation";
import { Ssgoi } from "ssgoi";
import config from "./transitionConfig";
let className = "your-custom-class";
</script>

<Ssgoi {onNavigate} {config} class={className}>
  <slot />
</Ssgoi>

PageTransition Component

The PageTransition component wraps the content of each individual page.

Props

Prop Type Description
class string (Optional) Custom class for styling

Usage

<script lang="ts">import { PageTransition } from "ssgoi";
let className = "your-custom-page-class";
</script>

<PageTransition class={className}>
  <!-- Your page content here -->
</PageTransition>

Additional Features

The PageTransition component adds a data-page-transition attribute to its wrapper div, which can be used for CSS targeting:

[data-page-transition] {
  /* Your styles here */
}

createTransitionConfig Function

This function creates a configuration object for your transitions.

Parameters

Parameter Type Description
config TransitionConfigInput An object containing your transition rules

Returns

Type Description
TransitionConfig A configuration object for use with the Ssgoi component

Usage

import { createTransitionConfig, transitions } from 'ssgoi';

const config = createTransitionConfig({
  transitions: [
    {
      from: '/home',
      to: '/about',
      transitions: transitions.fade()
    },
    // More transition rules...
  ],
  defaultTransition: transitions.fade()
});

Built-in Transitions

SSGOI provides several built-in transition effects.

fade

transitions.fade(options?: { duration?: number })

slide

transitions.slide(options?: { duration?: number, direction?: 'left' | 'right' | 'up' | 'down' })

scale

transitions.scale(options?: { duration?: number, start?: number, opacity?: boolean })

flip

transitions.flip(options?: { duration?: number, direction?: 'x' | 'y' })

blur

transitions.blur(options?: { duration?: number, amount?: number })

Each transition function returns a TransitionFunction that can be used in your transition configuration.


For more detailed usage examples and advanced features, please refer to our other documentation pages.