feat(typescript)!: support svelte 4 (#1773)

Closes #1753 

The minimum Svelte version required for TypeScript users is now 3.55.
This commit is contained in:
Eric Liu 2023-07-19 09:44:56 -07:00 committed by GitHub
commit 2f026f792a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
192 changed files with 941 additions and 712 deletions

View file

@ -1,12 +1,13 @@
/// <reference types="svelte" />
import type { SvelteComponentTyped } from "svelte";
import type { SvelteHTMLElements } from "svelte/elements";
import type { ButtonSkeletonProps } from "./ButtonSkeleton.svelte";
export interface ButtonProps
extends ButtonSkeletonProps,
svelte.JSX.HTMLAttributes<HTMLElementTagNameMap["button"]>,
svelte.JSX.HTMLAttributes<HTMLElementTagNameMap["a"]>,
svelte.JSX.HTMLAttributes<HTMLElementTagNameMap["div"]> {
type RestProps = SvelteHTMLElements["button"] &
SvelteHTMLElements["a"] &
SvelteHTMLElements["div"];
export interface ButtonProps extends ButtonSkeletonProps, RestProps {
/**
* Specify the kind of button
* @default "primary"
@ -42,7 +43,7 @@ export interface ButtonProps
* Specify the icon to render
* @default undefined
*/
icon?: typeof import("svelte").SvelteComponent;
icon?: typeof import("svelte").SvelteComponent<any>;
/**
* Specify the ARIA label for the button icon

View file

@ -1,8 +1,9 @@
/// <reference types="svelte" />
import type { SvelteComponentTyped } from "svelte";
import type { SvelteHTMLElements } from "svelte/elements";
export interface ButtonSetProps
extends svelte.JSX.HTMLAttributes<HTMLElementTagNameMap["div"]> {
type RestProps = SvelteHTMLElements["div"];
export interface ButtonSetProps extends RestProps {
/**
* Set to `true` to stack the buttons vertically
* @default false
@ -14,6 +15,6 @@ export interface ButtonSetProps
export default class ButtonSet extends SvelteComponentTyped<
ButtonSetProps,
{},
Record<string, any>,
{ default: {} }
> {}

View file

@ -1,8 +1,9 @@
/// <reference types="svelte" />
import type { SvelteComponentTyped } from "svelte";
import type { SvelteHTMLElements } from "svelte/elements";
export interface ButtonSkeletonProps
extends svelte.JSX.HTMLAttributes<HTMLElementTagNameMap["a"]> {
type RestProps = SvelteHTMLElements["a"];
export interface ButtonSkeletonProps extends RestProps {
/**
* Set the `href` to use an anchor link
* @default undefined