diff --git a/src/App.vue b/src/App.vue
index a0d7a19..ef16a8e 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,5 +1,3 @@
-
- Vue-Tailwind
-
+ Vue-Tailwind
diff --git a/src/components/DxhChips.vue b/src/components/DxhChips.vue
new file mode 100644
index 0000000..e32e3fb
--- /dev/null
+++ b/src/components/DxhChips.vue
@@ -0,0 +1,64 @@
+
+
+
+
+ {{ text }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/__tests__/DxhChip.spec.ts b/src/components/__tests__/DxhChip.spec.ts
new file mode 100644
index 0000000..f11b417
--- /dev/null
+++ b/src/components/__tests__/DxhChip.spec.ts
@@ -0,0 +1,48 @@
+import { describe, it, expect } from 'vitest'
+import { mount } from '@vue/test-utils'
+import DxhChips from '../DxhChips.vue'
+
+describe('DxhChips.vue', () => {
+ it('renders draggable item with close button', () => {
+ const wrapper = mount(DxhChips, {
+ props: {
+ text: 'Sample Text',
+ closeable: true,
+ draggable: true
+ }
+ })
+ expect(wrapper.classes()).toContain('inline-block')
+ expect(wrapper.classes()).toContain('cursor-grab')
+
+ expect(
+ wrapper.find('.flex.items-center.py-2.px-3.border.bg-gray-300.rounded-lg').exists()
+ ).toBe(true)
+
+ expect(wrapper.find('.text').text()).toBe('Sample Text')
+
+ const closeButton = wrapper.find('span.cursor-pointer')
+ expect(closeButton.exists()).toBe(true)
+
+ expect(wrapper.attributes('draggable')).toBe('true')
+ expect(wrapper.emitted('close')).toBeFalsy()
+
+ wrapper.trigger('dragstart')
+ expect(wrapper.emitted('drop')).toBeFalsy()
+
+ wrapper.trigger('dragend')
+ expect(wrapper.emitted('drop')).toBeTruthy()
+ })
+
+ it('renders draggable item without close button', () => {
+ const wrapper = mount(DxhChips, {
+ props: {
+ text: 'Sample Text',
+ closeable: false,
+ draggable: true
+ }
+ })
+
+ const closeButton = wrapper.find('span.cursor-pointer')
+ expect(closeButton.exists()).toBe(false)
+ })
+})
diff --git a/src/index.ts b/src/index.ts
index ee2ff8d..33e3346 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -1,4 +1,5 @@
-import DButton from "./components/DButton.vue"
-import DInput from "./components/DInput.vue"
+import DButton from './components/DButton.vue'
+import DInput from './components/DInput.vue'
+import DxhChips from './components/DxhChips.vue'
-export default {DButton, DInput}
\ No newline at end of file
+export default { DButton, DInput, DxhChips }