Files
housesof/src/app.d.ts

88 lines
1.4 KiB
TypeScript

/// <reference types="@sveltejs/kit" />
// See https://kit.svelte.dev/docs/types#app
// for information about these interfaces
declare namespace App {
// interface Locals {}
// interface Platform {}
// interface Session {}
// interface Stuff {}
}
/**
* Custom Events
*/
// Swipe
declare namespace svelte.JSX {
interface HTMLAttributes<T> {
onswipe?: (event: CustomEvent<string> & { target: EventTarget & T }) => any,
ontap?: (event: CustomEvent<boolean> & { target: EventTarget & T }) => any,
}
}
/**
* Custom Types
*/
declare type PhotoGridAbout = {
id: string
title: string
slug: string
image: {
id: string
title: string
}
}
/**
* Notifcation
*/
declare interface Notification {
title: string
name: string
image: string
timeout?: number
id?: number
}
/**
* Smooth Scroll Options
*/
declare interface smoothScrollOptions {
hash: string
changeHash?: boolean
event?: MouseEvent
callback?: Function
}
/**
* Swipe options
*/
interface SwipeOptions {
travelX?: number
travelY?: number
timeframe?: number
}
/**
* Reveal Animation
*/
declare interface RevealOptions {
enable?: boolean
options?: TransitionOptions
children?: string | HTMLElement
animation: any
}
// Options interface
declare interface TransitionOptions {
threshold?: number
duration?: number
stagger?: number
delay?: number
easing?: any
}