diff --git a/src/components/base/tag/Tag.vue b/src/components/base/tag/Tag.vue
new file mode 100644
index 00000000..f697a438
--- /dev/null
+++ b/src/components/base/tag/Tag.vue
@@ -0,0 +1,88 @@
+
+
+
+
+
diff --git a/src/components/base/tag/__tests__/Tag.spec.ts b/src/components/base/tag/__tests__/Tag.spec.ts
new file mode 100644
index 00000000..9f7c4ad7
--- /dev/null
+++ b/src/components/base/tag/__tests__/Tag.spec.ts
@@ -0,0 +1,8 @@
+import { describe, expect, it } from "vitest";
+import { VTag } from "../index";
+
+describe("Tag", () => {
+ it("should render", () => {
+ expect(VTag).toBeDefined();
+ });
+});
diff --git a/src/components/base/tag/index.ts b/src/components/base/tag/index.ts
new file mode 100644
index 00000000..a654138c
--- /dev/null
+++ b/src/components/base/tag/index.ts
@@ -0,0 +1 @@
+export { default as VTag } from "./Tag.vue";
diff --git a/src/components/base/tag/interface.ts b/src/components/base/tag/interface.ts
new file mode 100644
index 00000000..26cdbc00
--- /dev/null
+++ b/src/components/base/tag/interface.ts
@@ -0,0 +1 @@
+export type Theme = "default" | "primary" | "secondary" | "danger";
diff --git a/src/views/ViewComponents.vue b/src/views/ViewComponents.vue
index 34a4c0ed..4539259a 100644
--- a/src/views/ViewComponents.vue
+++ b/src/views/ViewComponents.vue
@@ -58,6 +58,18 @@
Danger
Default
+ Large
+
+ Default
+
+ sm
+
+ xs
Icon:
@@ -244,6 +256,47 @@
+
+ Tag
+ Themes:
+
+
+ Halo
+ Halo
+ Halo
+ Halo
+
+
+ With Icon:
+
+
+
+
+
+
+ Halo
+
+
+
+
+
+ Halo
+
+
+
+
+
+ Halo
+
+
+
+
+
+ Halo
+
+
+
+
@@ -258,6 +311,7 @@ import { VTextarea } from "@/components/base/textarea";
import { VRadio, VRadioGroup } from "@/components/base/radio";
import { VCheckbox, VCheckboxGroup } from "@/components/base/checkbox";
import { VSpace } from "@/components/base/space";
+import { VTag } from "@/components/base/tag";
import { reactive, ref } from "vue";
import type {
Align,