fix(types): use type alias instead of interface for $$restProps

This commit is contained in:
metonym 2024-10-25 16:30:10 -07:00 committed by Eric Liu
commit 6fbd8ae6a9
165 changed files with 752 additions and 463 deletions

View file

@ -3,11 +3,11 @@ import type { SvelteHTMLElements } from "svelte/elements";
import type { ButtonSkeletonProps } from "./ButtonSkeleton.svelte";
type RestProps = SvelteHTMLElements["button"] &
type $RestProps = SvelteHTMLElements["button"] &
SvelteHTMLElements["a"] &
SvelteHTMLElements["div"];
export interface ButtonProps extends ButtonSkeletonProps, RestProps {
type $Props = {
/**
* Specify the kind of button
* @default "primary"
@ -109,7 +109,9 @@ export interface ButtonProps extends ButtonSkeletonProps, RestProps {
ref?: null | HTMLAnchorElement | HTMLButtonElement;
[key: `data-${string}`]: any;
}
};
export type ButtonProps = Omit<$RestProps, keyof $Props> & $Props;
export default class Button extends SvelteComponentTyped<
ButtonProps,

View file

@ -1,9 +1,9 @@
import type { SvelteComponentTyped } from "svelte";
import type { SvelteHTMLElements } from "svelte/elements";
type RestProps = SvelteHTMLElements["div"];
type $RestProps = SvelteHTMLElements["div"];
export interface ButtonSetProps extends RestProps {
type $Props = {
/**
* Set to `true` to stack the buttons vertically
* @default false
@ -11,7 +11,9 @@ export interface ButtonSetProps extends RestProps {
stacked?: boolean;
[key: `data-${string}`]: any;
}
};
export type ButtonSetProps = Omit<$RestProps, keyof $Props> & $Props;
export default class ButtonSet extends SvelteComponentTyped<
ButtonSetProps,

View file

@ -1,9 +1,9 @@
import type { SvelteComponentTyped } from "svelte";
import type { SvelteHTMLElements } from "svelte/elements";
type RestProps = SvelteHTMLElements["a"];
type $RestProps = SvelteHTMLElements["a"];
export interface ButtonSkeletonProps extends RestProps {
type $Props = {
/**
* Set the `href` to use an anchor link
* @default undefined
@ -17,7 +17,9 @@ export interface ButtonSkeletonProps extends RestProps {
size?: "default" | "field" | "small" | "lg" | "xl";
[key: `data-${string}`]: any;
}
};
export type ButtonSkeletonProps = Omit<$RestProps, keyof $Props> & $Props;
export default class ButtonSkeleton extends SvelteComponentTyped<
ButtonSkeletonProps,