From 8021ebd77d2b872b9e3cb03d2b527060941050d4 Mon Sep 17 00:00:00 2001 From: Alfarish Fizikri Date: Fri, 25 Jul 2025 19:14:33 +0700 Subject: [PATCH] Create text animation --- src/constants/Categories.ts | 3 +- src/constants/Components.ts | 1 + .../TextAnimations/variableProximityCode.ts | 26 ++ .../VariableProximity/VariableProximity.vue | 228 ++++++++++++++++++ .../TextAnimations/VariableProximityDemo.vue | 132 ++++++++++ 5 files changed, 389 insertions(+), 1 deletion(-) create mode 100644 src/constants/code/TextAnimations/variableProximityCode.ts create mode 100644 src/content/TextAnimations/VariableProximity/VariableProximity.vue create mode 100644 src/demo/TextAnimations/VariableProximityDemo.vue diff --git a/src/constants/Categories.ts b/src/constants/Categories.ts index 1e7c583..e07f2cf 100644 --- a/src/constants/Categories.ts +++ b/src/constants/Categories.ts @@ -27,7 +27,8 @@ export const CATEGORIES = [ 'Rotating Text', 'Glitch Text', 'Scroll Velocity', - 'Text Type' + 'Text Type', + 'Variable Proximity', ] }, { diff --git a/src/constants/Components.ts b/src/constants/Components.ts index c7d2540..9906838 100644 --- a/src/constants/Components.ts +++ b/src/constants/Components.ts @@ -44,6 +44,7 @@ const textAnimations = { 'glitch-text': () => import("../demo/TextAnimations/GlitchTextDemo.vue"), 'scroll-velocity': () => import("../demo/TextAnimations/ScrollVelocityDemo.vue"), 'text-type': () => import("../demo/TextAnimations/TextTypeDemo.vue"), + 'variable-proximity': () => import("../demo/TextAnimations/VariableProximityDemo.vue"), }; const components = { diff --git a/src/constants/code/TextAnimations/variableProximityCode.ts b/src/constants/code/TextAnimations/variableProximityCode.ts new file mode 100644 index 0000000..18418cc --- /dev/null +++ b/src/constants/code/TextAnimations/variableProximityCode.ts @@ -0,0 +1,26 @@ +import code from '@content/TextAnimations/VariableProximity/VariableProximity.vue?raw'; +import { createCodeObject } from '@/types/code'; + +export const variableProximity = createCodeObject(code, 'TextAnimations/VariableProximity', { + installation: `npm install motion-v`, + usage: ` + +` +}); \ No newline at end of file diff --git a/src/content/TextAnimations/VariableProximity/VariableProximity.vue b/src/content/TextAnimations/VariableProximity/VariableProximity.vue new file mode 100644 index 0000000..ad14c4f --- /dev/null +++ b/src/content/TextAnimations/VariableProximity/VariableProximity.vue @@ -0,0 +1,228 @@ + + + diff --git a/src/demo/TextAnimations/VariableProximityDemo.vue b/src/demo/TextAnimations/VariableProximityDemo.vue new file mode 100644 index 0000000..4cce442 --- /dev/null +++ b/src/demo/TextAnimations/VariableProximityDemo.vue @@ -0,0 +1,132 @@ + + + +