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 ComposedModalProps extends svelte.JSX.HTMLAttributes<HTMLElementTagNameMap["div"]> {
/**
@ -43,19 +44,17 @@ export interface ComposedModalProps extends svelte.JSX.HTMLAttributes<HTMLElemen
ref?: null | HTMLDivElement;
}
export default class ComposedModal {
$$prop_def: ComposedModalProps;
$$slot_def: {
default: {};
};
$on(eventname: "click", cb: (event: WindowEventMap["click"]) => void): () => void;
$on(eventname: "mouseover", cb: (event: WindowEventMap["mouseover"]) => void): () => void;
$on(eventname: "mouseenter", cb: (event: WindowEventMap["mouseenter"]) => void): () => void;
$on(eventname: "mouseleave", cb: (event: WindowEventMap["mouseleave"]) => void): () => void;
$on(eventname: "transitionend", cb: (event: WindowEventMap["transitionend"]) => void): () => void;
$on(eventname: "submit", cb: (event: CustomEvent<any>) => void): () => void;
$on(eventname: "close", cb: (event: CustomEvent<any>) => void): () => void;
$on(eventname: "open", cb: (event: CustomEvent<any>) => void): () => void;
$on(eventname: string, cb: (event: Event) => void): () => void;
}
export default class ComposedModal extends SvelteComponent<
ComposedModalProps,
{
click: WindowEventMap["click"];
mouseover: WindowEventMap["mouseover"];
mouseenter: WindowEventMap["mouseenter"];
mouseleave: WindowEventMap["mouseleave"];
transitionend: WindowEventMap["transitionend"];
submit: CustomEvent<any>;
close: CustomEvent<any>;
open: CustomEvent<any>;
},
{ default: {} }
> {}

View file

@ -1,4 +1,5 @@
/// <reference types="svelte" />
import { SvelteComponent } from "svelte";
export interface ModalBodyProps extends svelte.JSX.HTMLAttributes<HTMLElementTagNameMap["div"]> {
/**
@ -14,11 +15,4 @@ export interface ModalBodyProps extends svelte.JSX.HTMLAttributes<HTMLElementTag
hasScrollingContent?: boolean;
}
export default class ModalBody {
$$prop_def: ModalBodyProps;
$$slot_def: {
default: {};
};
$on(eventname: string, cb: (event: Event) => void): () => void;
}
export default class ModalBody extends SvelteComponent<ModalBodyProps, {}, { default: {} }> {}

View file

@ -1,4 +1,5 @@
/// <reference types="svelte" />
import { SvelteComponent } from "svelte";
export interface ModalFooterProps extends svelte.JSX.HTMLAttributes<HTMLElementTagNameMap["div"]> {
/**
@ -36,11 +37,4 @@ export interface ModalFooterProps extends svelte.JSX.HTMLAttributes<HTMLElementT
danger?: boolean;
}
export default class ModalFooter {
$$prop_def: ModalFooterProps;
$$slot_def: {
default: {};
};
$on(eventname: string, cb: (event: Event) => void): () => void;
}
export default class ModalFooter extends SvelteComponent<ModalFooterProps, {}, { default: {} }> {}

View file

@ -1,4 +1,5 @@
/// <reference types="svelte" />
import { SvelteComponent } from "svelte";
export interface ModalHeaderProps extends svelte.JSX.HTMLAttributes<HTMLElementTagNameMap["div"]> {
/**
@ -44,12 +45,8 @@ export interface ModalHeaderProps extends svelte.JSX.HTMLAttributes<HTMLElementT
iconDescription?: string;
}
export default class ModalHeader {
$$prop_def: ModalHeaderProps;
$$slot_def: {
default: {};
};
$on(eventname: "click", cb: (event: WindowEventMap["click"]) => void): () => void;
$on(eventname: string, cb: (event: Event) => void): () => void;
}
export default class ModalHeader extends SvelteComponent<
ModalHeaderProps,
{ click: WindowEventMap["click"] },
{ default: {} }
> {}