diff --git a/package-lock.json b/package-lock.json index e3a91c5..ab1b398 100644 --- a/package-lock.json +++ b/package-lock.json @@ -30,7 +30,7 @@ "@tailwindcss/vite": "^4.1.11", "@tsconfig/node22": "^22.0.2", "@types/node": "^22.15.32", - "@types/three": "^0.178.0", + "@types/three": "^0.178.1", "@vitejs/plugin-vue": "^6.0.0", "@vitejs/plugin-vue-jsx": "^5.0.0", "@vue/eslint-config-typescript": "^14.5.1", @@ -2997,9 +2997,9 @@ "license": "MIT" }, "node_modules/@types/three": { - "version": "0.178.0", - "resolved": "https://registry.npmjs.org/@types/three/-/three-0.178.0.tgz", - "integrity": "sha512-1IpVbMKbEAAWjyn0VTdVcNvI1h1NlTv3CcnwMr3NNBv/gi3PL0/EsWROnXUEkXBxl94MH5bZvS8h0WnBRmR/pQ==", + "version": "0.178.1", + "resolved": "https://registry.npmjs.org/@types/three/-/three-0.178.1.tgz", + "integrity": "sha512-WSabew1mgWgRx2RfLfKY+9h4wyg6U94JfLbZEGU245j/WY2kXqU0MUfghS+3AYMV5ET1VlILAgpy77cB6a3Itw==", "license": "MIT", "dependencies": { "@dimforge/rapier3d-compat": "~0.12.0", diff --git a/package.json b/package.json index a02c2e3..6afcf0c 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "@tailwindcss/vite": "^4.1.11", "@tsconfig/node22": "^22.0.2", "@types/node": "^22.15.32", - "@types/three": "^0.178.0", + "@types/three": "^0.178.1", "@vitejs/plugin-vue": "^6.0.0", "@vitejs/plugin-vue-jsx": "^5.0.0", "@vue/eslint-config-typescript": "^14.5.1", diff --git a/src/constants/Categories.ts b/src/constants/Categories.ts index 1a4c567..d6d3fdc 100644 --- a/src/constants/Categories.ts +++ b/src/constants/Categories.ts @@ -44,6 +44,7 @@ export const CATEGORIES = [ 'Magnet', 'Cubes', 'Blob Cursor', + 'Pixel Trail' ] }, { diff --git a/src/constants/Components.ts b/src/constants/Components.ts index f511256..4e415b9 100644 --- a/src/constants/Components.ts +++ b/src/constants/Components.ts @@ -12,6 +12,7 @@ const animations = { 'count-up': () => import('../demo/Animations/CountUpDemo.vue'), 'splash-cursor': () => import('../demo/Animations/SplashCursorDemo.vue'), 'blob-cursor': () => import('../demo/Animations/BlobCursorDemo.vue'), + 'pixel-trail': () => import('../demo/Animations/PixelTrailDemo.vue') }; const textAnimations = { diff --git a/src/constants/code/Animations/pixelTrailCode.ts b/src/constants/code/Animations/pixelTrailCode.ts new file mode 100644 index 0000000..52f95da --- /dev/null +++ b/src/constants/code/Animations/pixelTrailCode.ts @@ -0,0 +1,21 @@ +import code from '@/content/Animations/PixelTrail/PixelTrail.vue?raw'; +import type { CodeObject } from '../../../types/code'; + +export const pixelTrail: CodeObject = { + cli: `npx jsrepo add https://vue-bits.dev/ui/Animations/PixelTrail`, + usage: ` + +`, + code +}; diff --git a/src/content/Animations/PixelTrail/PixelTrail.vue b/src/content/Animations/PixelTrail/PixelTrail.vue new file mode 100644 index 0000000..6a98880 --- /dev/null +++ b/src/content/Animations/PixelTrail/PixelTrail.vue @@ -0,0 +1,458 @@ + + + diff --git a/src/demo/Animations/PixelTrailDemo.vue b/src/demo/Animations/PixelTrailDemo.vue new file mode 100644 index 0000000..94ec94b --- /dev/null +++ b/src/demo/Animations/PixelTrailDemo.vue @@ -0,0 +1,86 @@ + + +