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

@ -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 SelectProps extends RestProps {
type $Props = {
/**
* Specify the selected item value
* @default undefined
@ -107,7 +107,9 @@ export interface SelectProps extends RestProps {
required?: boolean;
[key: `data-${string}`]: any;
}
};
export type SelectProps = Omit<$RestProps, keyof $Props> & $Props;
export default class Select extends SvelteComponentTyped<
SelectProps,

View file

@ -1,6 +1,6 @@
import type { SvelteComponentTyped } from "svelte";
export interface SelectItemProps {
export type SelectItemProps = {
/**
* Specify the option value
* @default ""
@ -36,7 +36,7 @@ export interface SelectItemProps {
* @default undefined
*/
style?: string;
}
};
export default class SelectItem extends SvelteComponentTyped<
SelectItemProps,

View file

@ -1,9 +1,9 @@
import type { SvelteComponentTyped } from "svelte";
import type { SvelteHTMLElements } from "svelte/elements";
type RestProps = SvelteHTMLElements["optgroup"];
type $RestProps = SvelteHTMLElements["optgroup"];
export interface SelectItemGroupProps extends RestProps {
type $Props = {
/**
* Set to `true` to disable the optgroup element
* @default false
@ -17,7 +17,9 @@ export interface SelectItemGroupProps extends RestProps {
label?: string;
[key: `data-${string}`]: any;
}
};
export type SelectItemGroupProps = Omit<$RestProps, keyof $Props> & $Props;
export default class SelectItemGroup extends SvelteComponentTyped<
SelectItemGroupProps,

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 SelectSkeletonProps extends RestProps {
type $Props = {
/**
* Set to `true` to hide the label text
* @default false
@ -11,7 +11,9 @@ export interface SelectSkeletonProps extends RestProps {
hideLabel?: boolean;
[key: `data-${string}`]: any;
}
};
export type SelectSkeletonProps = Omit<$RestProps, keyof $Props> & $Props;
export default class SelectSkeleton extends SvelteComponentTyped<
SelectSkeletonProps,