= {
+ props: T,
+ class: string
+}[]
-export type ComponentOptions = {
- defaultProps?: P;
- styleOverrides?: O;
+export type ComponentOptions = {
+ defaultProps: T;
+ variants: Variants
};
export type ElementProps = {
- element?: SupportedElement;
+ element?: keyof HTMLElementTagNameMap;
};
export type Elevation = 'none' | 'sm' | 'default' | 'md' | 'lg' | 'xl' | '2xl';
diff --git a/src/lib/utils/elements.ts b/src/lib/utils/elements.ts
index 432edf7..0d9d796 100644
--- a/src/lib/utils/elements.ts
+++ b/src/lib/utils/elements.ts
@@ -46,4 +46,4 @@ const components = [
'ul'
] as const;
-export type SupportedElement = typeof components[number];
+export type HTMLElement = typeof components[number];
diff --git a/tsconfig.json b/tsconfig.json
index eb2ec41..56cb229 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -24,6 +24,7 @@
"skipLibCheck": true,
"sourceMap": true,
"strict": true,
- "target": "es2020"
+ "target": "es2020",
+ "types": ["vitest/globals"]
}
}
diff --git a/vite.config.js b/vite.config.js
deleted file mode 100644
index 8747050..0000000
--- a/vite.config.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import { sveltekit } from '@sveltejs/kit/vite';
-
-/** @type {import('vite').UserConfig} */
-const config = {
- plugins: [sveltekit()]
-};
-
-export default config;
diff --git a/vite.config.ts b/vite.config.ts
new file mode 100644
index 0000000..d6f4d1d
--- /dev/null
+++ b/vite.config.ts
@@ -0,0 +1,10 @@
+import { sveltekit } from '@sveltejs/kit/vite';
+import { defineConfig } from 'vitest/config';
+
+export default defineConfig({
+ plugins: [sveltekit()],
+ test: {
+ include: ['src/**/*.{test,spec}.{js,ts}'],
+ globals: true
+ }
+});
\ No newline at end of file