///
import type { SvelteComponentTyped } from "svelte";
export interface ButtonProps
extends svelte.JSX.HTMLAttributes,
svelte.JSX.HTMLAttributes {
/**
* @default null
*/
class?: string | false | null;
/**
* Adds a filled background to the button.
* Mutually exclusive with `outline` and `selected`.
* @default false
*/
filled?: boolean;
/**
* Adds a border to the button.
* Mutually exclusive with `filled`.
* @default false
*/
outline?: boolean;
/**
* Gives the button a color of danger (red by default).
* Mutually exclusive with `neutral`.
* @default false
*/
danger?: boolean;
/**
* Gives the button a neutral color (very dark gray by default).
* Mutually exclusive with `danger`.
* @default false
*/
neutral?: boolean;
/**
* Adjusts the padding to be equal on all sides. Great for icon-only buttons.
* @default false
*/
round?: boolean;
/**
* Halves the border radius and increases the padding. Well-suited for large menus.
* @default false
*/
rectangle?: boolean;
/**
* Cuts the padding to make the button smaller.
* @default false
*/
small?: boolean;
/**
* Gives the button a tinted background. Suitable for indicating the selected item.
* Mutually exclusive with `filled`.
* @default false
*/
selected?: boolean;
/**
* Disables the ripple effect.
* @default false
*/
noRipple?: boolean;
/**
* Disables the button, styling it appropriately and disabling click events.
* @default false
*/
disabled?: boolean;
/**
* Turns the button into a link (prefetch-enabled for Sapper).
* @default null
*/
href?: string | null;
/**
* Disables Sapper (or SvelteKit) prefetching for link buttons (those with an href prop).
* @default false
*/
noPrefetch?: boolean;
/**
* List of handlers for the [Events](https://illright.github.io/attractions/docs/utilities) action.
* @default []
*/
events?: Array<{ name: string; handler: (e: Event) => void }>;
/**
* SvelteKit attribute to enable data prefetching
* if a link is hovered over or touched on mobile.
* @see https://kit.svelte.dev/docs/a-options#sveltekit-prefetch
* @default false
*/
"sveltekit:prefetch"?: boolean;
/**
* SvelteKit attribute to trigger a full page
* reload after the link is clicked.
* @see https://kit.svelte.dev/docs/a-options#sveltekit-reload
* @default false
*/
"sveltekit:reload"?: boolean;
/**
* SvelteKit attribute to prevent scrolling
* after the link is clicked.
* @see https://kit.svelte.dev/docs/a-options#sveltekit-noscroll
* @default false
*/
"sveltekit:noscroll"?: boolean;
}
export default class Button extends SvelteComponentTyped<
ButtonProps,
{ click: CustomEvent<{ nativeEvent: MouseEvent }> },
{ default: {} }
> {}