refactor(types): use typed SvelteComponent interface for typing components

This commit is contained in:
Eric Liu 2020-11-25 15:29:55 -08:00
commit dab82d3479
156 changed files with 1379 additions and 1667 deletions

View file

@ -1,4 +1,5 @@
/// <reference types="svelte" />
import { SvelteComponent } from "svelte";
export interface SideNavProps extends svelte.JSX.HTMLAttributes<HTMLElementTagNameMap["nav"]> {
/**
@ -19,11 +20,4 @@ export interface SideNavProps extends svelte.JSX.HTMLAttributes<HTMLElementTagNa
isOpen?: boolean;
}
export default class SideNav {
$$prop_def: SideNavProps;
$$slot_def: {
default: {};
};
$on(eventname: string, cb: (event: Event) => void): () => void;
}
export default class SideNav extends SvelteComponent<SideNavProps, {}, { default: {} }> {}

View file

@ -1,12 +1,6 @@
/// <reference types="svelte" />
import { SvelteComponent } from "svelte";
export interface SideNavItemsProps {}
export default class SideNavItems {
$$prop_def: SideNavItemsProps;
$$slot_def: {
default: {};
};
$on(eventname: string, cb: (event: Event) => void): () => void;
}
export default class SideNavItems extends SvelteComponent<SideNavItemsProps, {}, { default: {} }> {}

View file

@ -1,4 +1,5 @@
/// <reference types="svelte" />
import { SvelteComponent } from "svelte";
export interface SideNavLinkProps extends svelte.JSX.HTMLAttributes<HTMLElementTagNameMap["a"]> {
/**
@ -29,10 +30,4 @@ export interface SideNavLinkProps extends svelte.JSX.HTMLAttributes<HTMLElementT
ref?: null | HTMLAnchorElement;
}
export default class SideNavLink {
$$prop_def: SideNavLinkProps;
$$slot_def: {};
$on(eventname: "click", cb: (event: WindowEventMap["click"]) => void): () => void;
$on(eventname: string, cb: (event: Event) => void): () => void;
}
export default class SideNavLink extends SvelteComponent<SideNavLinkProps, { click: WindowEventMap["click"] }, {}> {}

View file

@ -1,4 +1,5 @@
/// <reference types="svelte" />
import { SvelteComponent } from "svelte";
export interface SideNavMenuProps extends svelte.JSX.HTMLAttributes<HTMLElementTagNameMap["button"]> {
/**
@ -24,12 +25,8 @@ export interface SideNavMenuProps extends svelte.JSX.HTMLAttributes<HTMLElementT
ref?: null | HTMLButtonElement;
}
export default class SideNavMenu {
$$prop_def: SideNavMenuProps;
$$slot_def: {
default: {};
};
$on(eventname: "click", cb: (event: WindowEventMap["click"]) => void): () => void;
$on(eventname: string, cb: (event: Event) => void): () => void;
}
export default class SideNavMenu extends SvelteComponent<
SideNavMenuProps,
{ click: WindowEventMap["click"] },
{ default: {} }
> {}

View file

@ -1,4 +1,5 @@
/// <reference types="svelte" />
import { SvelteComponent } from "svelte";
export interface SideNavMenuItemProps extends svelte.JSX.HTMLAttributes<HTMLElementTagNameMap["a"]> {
/**
@ -23,10 +24,8 @@ export interface SideNavMenuItemProps extends svelte.JSX.HTMLAttributes<HTMLElem
ref?: null | HTMLAnchorElement;
}
export default class SideNavMenuItem {
$$prop_def: SideNavMenuItemProps;
$$slot_def: {};
$on(eventname: "click", cb: (event: WindowEventMap["click"]) => void): () => void;
$on(eventname: string, cb: (event: Event) => void): () => void;
}
export default class SideNavMenuItem extends SvelteComponent<
SideNavMenuItemProps,
{ click: WindowEventMap["click"] },
{}
> {}