diff --git a/src/components/common/BackgroundContent.vue b/src/components/common/BackgroundContent.vue new file mode 100644 index 0000000..7356f37 --- /dev/null +++ b/src/components/common/BackgroundContent.vue @@ -0,0 +1,98 @@ + + + diff --git a/src/constants/Categories.ts b/src/constants/Categories.ts index 49275dd..8e525aa 100644 --- a/src/constants/Categories.ts +++ b/src/constants/Categories.ts @@ -25,7 +25,8 @@ export const CATEGORIES = [ 'Scroll Float', 'Scroll Reveal', 'Rotating Text', - 'Glitch Text' + 'Glitch Text', + 'Scroll Velocity' ] }, { @@ -47,6 +48,7 @@ export const CATEGORIES = [ 'Blob Cursor', 'Meta Balls', 'Image Trail', + 'Shape Blur', 'Target Cursor', ] }, @@ -85,7 +87,6 @@ export const CATEGORIES = [ 'Balatro', 'Letter Glitch', 'Particles', - 'Shape Blur', 'Waves', 'Squares', 'Iridescence', diff --git a/src/constants/Components.ts b/src/constants/Components.ts index b5e5470..2c8bd01 100644 --- a/src/constants/Components.ts +++ b/src/constants/Components.ts @@ -15,6 +15,7 @@ const animations = { 'blob-cursor': () => import('../demo/Animations/BlobCursorDemo.vue'), 'meta-balls': () => import('../demo/Animations/MetaBallsDemo.vue'), 'image-trail': () => import('../demo/Animations/ImageTrailDemo.vue'), + 'shape-blur': () => import('../demo/Animations/ShapeBlurDemo.vue'), 'target-cursor': () => import('../demo/Animations/TargetCursorDemo.vue'), }; @@ -38,6 +39,7 @@ const textAnimations = { 'scroll-reveal': () => import("../demo/TextAnimations/ScrollRevealDemo.vue"), 'rotating-text': () => import("../demo/TextAnimations/RotatingTextDemo.vue"), 'glitch-text': () => import("../demo/TextAnimations/GlitchTextDemo.vue"), + 'scroll-velocity': () => import("../demo/TextAnimations/ScrollVelocityDemo.vue"), }; const components = { @@ -75,7 +77,6 @@ const backgrounds = { 'beams': () => import('../demo/Backgrounds/BeamsDemo.vue'), 'grid-motion': () => import('../demo/Backgrounds/GridMotionDemo.vue'), 'hyperspeed': () => import('../demo/Backgrounds/HyperspeedDemo.vue'), - 'shape-blur': () => import('../demo/Backgrounds/ShapeBlurDemo.vue'), 'balatro': () => import('../demo/Backgrounds/BalatroDemo.vue'), 'orb': () => import('../demo/Backgrounds/OrbDemo.vue'), 'ballpit': () => import('../demo/Backgrounds/BallpitDemo.vue'), diff --git a/src/constants/code/Backgrounds/shapeBlurCode.ts b/src/constants/code/Animations/shapeBlurCode.ts similarity index 78% rename from src/constants/code/Backgrounds/shapeBlurCode.ts rename to src/constants/code/Animations/shapeBlurCode.ts index 5e776d5..165c3f7 100644 --- a/src/constants/code/Backgrounds/shapeBlurCode.ts +++ b/src/constants/code/Animations/shapeBlurCode.ts @@ -1,8 +1,8 @@ -import code from '@content/Backgrounds/ShapeBlur/ShapeBlur.vue?raw'; +import code from '@/content/Animations/ShapeBlur/ShapeBlur.vue?raw'; import type { CodeObject } from '../../../types/code'; export const shapeBlur: CodeObject = { - cli: `npx jsrepo add https://vue-bits.dev/ui/Backgrounds/ShapeBlur`, + cli: `npx jsrepo add https://vue-bits.dev/ui/Animations/ShapeBlur`, installation: `npm install three @types/three`, usage: ` + +`, + code +}; diff --git a/src/content/Backgrounds/ShapeBlur/ShapeBlur.vue b/src/content/Animations/ShapeBlur/ShapeBlur.vue similarity index 100% rename from src/content/Backgrounds/ShapeBlur/ShapeBlur.vue rename to src/content/Animations/ShapeBlur/ShapeBlur.vue diff --git a/src/content/TextAnimations/ScrollVelocity/ScrollVelocity.vue b/src/content/TextAnimations/ScrollVelocity/ScrollVelocity.vue new file mode 100644 index 0000000..74ca0c6 --- /dev/null +++ b/src/content/TextAnimations/ScrollVelocity/ScrollVelocity.vue @@ -0,0 +1,236 @@ + + + diff --git a/src/demo/Backgrounds/ShapeBlurDemo.vue b/src/demo/Animations/ShapeBlurDemo.vue similarity index 95% rename from src/demo/Backgrounds/ShapeBlurDemo.vue rename to src/demo/Animations/ShapeBlurDemo.vue index 0de919d..25f79d7 100644 --- a/src/demo/Backgrounds/ShapeBlurDemo.vue +++ b/src/demo/Animations/ShapeBlurDemo.vue @@ -53,8 +53,8 @@ import CliInstallation from '../../components/code/CliInstallation.vue'; import CodeExample from '../../components/code/CodeExample.vue'; import Customize from '../../components/common/Customize.vue'; import PreviewSlider from '../../components/common/PreviewSlider.vue'; -import ShapeBlur from '../../content/Backgrounds/ShapeBlur/ShapeBlur.vue'; -import { shapeBlur } from '@/constants/code/Backgrounds/shapeBlurCode'; +import ShapeBlur from '../../content/Animations/ShapeBlur/ShapeBlur.vue'; +import { shapeBlur } from '@/constants/code/Animations/shapeBlurCode'; const pixelRatioProp = ref(window.devicePixelRatio || 1); const shapeSize = ref(1.0); diff --git a/src/demo/Backgrounds/AuroraDemo.vue b/src/demo/Backgrounds/AuroraDemo.vue index 406db22..aef5db9 100644 --- a/src/demo/Backgrounds/AuroraDemo.vue +++ b/src/demo/Backgrounds/AuroraDemo.vue @@ -1,65 +1,65 @@ diff --git a/src/demo/Backgrounds/IridescenceDemo.vue b/src/demo/Backgrounds/IridescenceDemo.vue index 6d459b6..790955b 100644 --- a/src/demo/Backgrounds/IridescenceDemo.vue +++ b/src/demo/Backgrounds/IridescenceDemo.vue @@ -1,8 +1,9 @@