diff --git a/package.json b/package.json index d5f4ce8..68bbcf6 100644 --- a/package.json +++ b/package.json @@ -5,6 +5,7 @@ "main": "src/main.cjs.js", "module": "src/main.es.js", "svelte": "src/Portal.svelte", + "types": "src/Portal.svelte.d.ts", "scripts": { "test": "jest test", "test:watch": "npm run test -- --watch", diff --git a/src/Portal.svelte.d.ts b/src/Portal.svelte.d.ts new file mode 100644 index 0000000..770d6bd --- /dev/null +++ b/src/Portal.svelte.d.ts @@ -0,0 +1,37 @@ +import { SvelteComponentTyped } from "svelte"; +/** + * Usage:
or
+ * + * @param {HTMLElement} el + * @param {HTMLElement|string} target DOM Element or CSS Selector + */ +export declare function portal( + el: HTMLElement, + target?: HTMLElement | string +): { + update: (newTarget: HTMLElement | string) => Promise; + destroy: () => void; +}; +declare const __propDef: { + props: { + /** + * DOM Element or CSS Selector + * @type { HTMLElement|string} + */ target?: string | HTMLElement | undefined; + }; + events: { + [evt: string]: CustomEvent; + }; + slots: { + default: {}; + }; +}; +export declare type PortalProps = typeof __propDef.props; +export declare type PortalEvents = typeof __propDef.events; +export declare type PortalSlots = typeof __propDef.slots; +export default class Portal extends SvelteComponentTyped< + PortalProps, + PortalEvents, + PortalSlots +> {} +export {};