svelte-outclick
Version:
A Svelte component that allows you to listen to the clicks that happen outside of an element.
46 lines (45 loc) • 2.4 kB
TypeScript
import type { Snippet } from "svelte";
import type { ClassValue } from "svelte/elements";
import type { OutClickEvent } from "./OutClickEvent.js";
import type { OptionalHtmlTags } from "./types.js";
declare function $$render<Tag extends OptionalHtmlTags>(): {
props: {
/** Wrapper tag. */
tag?: Tag;
/** To use it as HTML `class` attr. */
class?: ClassValue;
/** DOM elements to exclude from triggering the `outclick` event. */
excludeElements?: HTMLElement | HTMLElement[];
/** DOM elements to exclude from triggering the `outclick` event. */
excludeQuerySelectorAll?: string;
/** If the wrapper did contain the event target, allow the `outclick` event to dispatch. */
includeSelf?: boolean;
/** Should the outclick event happen on (`pointerdown`) or (`pointerdown` + `pointerup`). */
halfClick?: boolean;
/** The component children. */
children: Snippet;
/** The main `onOutClick` event handler. */
onOutClick: (event: OutClickEvent) => void;
} & import("./types.js").FilterNonEventAttributes<import("./types.js").HtmlElements[Tag extends undefined ? "div" : Tag]>;
exports: {};
bindings: "";
slots: {};
events: {};
};
declare class __sveltets_Render<Tag extends OptionalHtmlTags> {
props(): ReturnType<typeof $$render<Tag>>['props'];
events(): ReturnType<typeof $$render<Tag>>['events'];
slots(): ReturnType<typeof $$render<Tag>>['slots'];
bindings(): "";
exports(): {};
}
interface $$IsomorphicComponent {
new <Tag extends OptionalHtmlTags>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<Tag>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<Tag>['props']>, ReturnType<__sveltets_Render<Tag>['events']>, ReturnType<__sveltets_Render<Tag>['slots']>> & {
$$bindings?: ReturnType<__sveltets_Render<Tag>['bindings']>;
} & ReturnType<__sveltets_Render<Tag>['exports']>;
<Tag extends OptionalHtmlTags>(internal: unknown, props: ReturnType<__sveltets_Render<Tag>['props']> & {}): ReturnType<__sveltets_Render<Tag>['exports']>;
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
}
declare const OutClick: $$IsomorphicComponent;
type OutClick<Tag extends OptionalHtmlTags> = InstanceType<typeof OutClick<Tag>>;
export default OutClick;