diff --git a/src/constants/Categories.ts b/src/constants/Categories.ts
index 1c118ce..28f7ac8 100644
--- a/src/constants/Categories.ts
+++ b/src/constants/Categories.ts
@@ -49,7 +49,8 @@ export const CATEGORIES = [
'Blob Cursor',
'Meta Balls',
'Image Trail',
- 'Shape Blur'
+ 'Shape Blur',
+ 'Crosshair'
]
},
{
diff --git a/src/constants/Components.ts b/src/constants/Components.ts
index 4b9e6f1..a4e9454 100644
--- a/src/constants/Components.ts
+++ b/src/constants/Components.ts
@@ -17,6 +17,7 @@ const animations = {
'image-trail': () => import('../demo/Animations/ImageTrailDemo.vue'),
'shape-blur': () => import('../demo/Animations/ShapeBlurDemo.vue'),
'target-cursor': () => import('../demo/Animations/TargetCursorDemo.vue'),
+ 'crosshair': () => import('../demo/Animations/CrosshairDemo.vue'),
};
const textAnimations = {
diff --git a/src/constants/code/Animations/crosshairCode.ts b/src/constants/code/Animations/crosshairCode.ts
new file mode 100644
index 0000000..9145952
--- /dev/null
+++ b/src/constants/code/Animations/crosshairCode.ts
@@ -0,0 +1,21 @@
+import code from '@/content/Animations/Crosshair/Crosshair.vue?raw';
+import type { CodeObject } from '@/types/code';
+
+export const crosshair: CodeObject = {
+ cli: `npx jsrepo add https://vue-bits.dev/ui/Animations/Crosshair`,
+ installation: `npm i gsap`,
+ usage: `
+
+
+
+
+
+`,
+ code
+};
diff --git a/src/content/Animations/Crosshair/Crosshair.vue b/src/content/Animations/Crosshair/Crosshair.vue
new file mode 100644
index 0000000..f7e0025
--- /dev/null
+++ b/src/content/Animations/Crosshair/Crosshair.vue
@@ -0,0 +1,249 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/demo/Animations/CrosshairDemo.vue b/src/demo/Animations/CrosshairDemo.vue
new file mode 100644
index 0000000..729be18
--- /dev/null
+++ b/src/demo/Animations/CrosshairDemo.vue
@@ -0,0 +1,140 @@
+
+
+
+
+
+
+
+
+
+ {{ linkText }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+