diff --git a/packages/components/src/components/switch/Switch.story.vue b/packages/components/src/components/switch/Switch.story.vue
new file mode 100644
index 00000000..b4bd1b0c
--- /dev/null
+++ b/packages/components/src/components/switch/Switch.story.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/components/src/components/switch/Switch.vue b/packages/components/src/components/switch/Switch.vue
new file mode 100644
index 00000000..04b500af
--- /dev/null
+++ b/packages/components/src/components/switch/Switch.vue
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
diff --git a/packages/components/src/components/switch/__tests__/Switch.spec.ts b/packages/components/src/components/switch/__tests__/Switch.spec.ts
new file mode 100644
index 00000000..b7772449
--- /dev/null
+++ b/packages/components/src/components/switch/__tests__/Switch.spec.ts
@@ -0,0 +1,9 @@
+import { describe, expect, it } from "vitest";
+import { VSwitch } from "../index";
+import { mount } from "@vue/test-utils";
+
+describe("Switch", () => {
+ it("should render", () => {
+ expect(mount(VSwitch)).toBeDefined();
+ });
+});
diff --git a/packages/components/src/components/switch/index.ts b/packages/components/src/components/switch/index.ts
new file mode 100644
index 00000000..2079033d
--- /dev/null
+++ b/packages/components/src/components/switch/index.ts
@@ -0,0 +1 @@
+export { default as VSwitch } from "./Switch.vue";