diff --git a/LICENSE.md b/LICENSE.md
index 62fb3d6..26e97ac 100644
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -12,7 +12,7 @@ copies or substantial portions of the Software.
## Commons Clause Restriction
-You may use this Software, including for any commercial purpose, **so long as you do not sell, sublicense, or redistribute the components themselves-whether alone, in a bundle, or as a ported version.**
+You may use this Software, including for any commercial purpose, **so long as you do not sell, sublicense, or redistribute the components themselves-whether alone, in a bundle, template, or as a ported version.**
## No Warranty
diff --git a/package-lock.json b/package-lock.json
index e3a91c5..6e3d89e 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -15,6 +15,7 @@
"@vueuse/motion": "^3.0.3",
"@wdns/vue-code-block": "^2.3.5",
"gsap": "^3.13.0",
+ "lenis": "^1.3.8",
"matter-js": "^0.20.0",
"motion-v": "^1.5.0",
"ogl": "^1.0.11",
@@ -6433,6 +6434,32 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/lenis": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/lenis/-/lenis-1.3.8.tgz",
+ "integrity": "sha512-LVeoMs6jZE1eu3gPsexndm+vk01pLFeq7P00vjIpI17saD52IYu8nPA4gX43elz8tp/TTCXcX6Em1MEjDl9NTw==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/darkroomengineering"
+ },
+ "peerDependencies": {
+ "@nuxt/kit": ">=3.0.0",
+ "react": ">=17.0.0",
+ "vue": ">=3.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@nuxt/kit": {
+ "optional": true
+ },
+ "react": {
+ "optional": true
+ },
+ "vue": {
+ "optional": true
+ }
+ }
+ },
"node_modules/levn": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
diff --git a/src/assets/logos/vue-bits-sticker.png b/src/assets/logos/vue-bits-sticker.png
new file mode 100644
index 0000000..6762bdb
Binary files /dev/null and b/src/assets/logos/vue-bits-sticker.png differ
diff --git a/src/constants/Categories.ts b/src/constants/Categories.ts
index e467001..c7844c6 100644
--- a/src/constants/Categories.ts
+++ b/src/constants/Categories.ts
@@ -1,5 +1,5 @@
// Highlighted sidebar items
-export const NEW = ['Target Cursor', 'Ripple Grid', 'Magic Bento', 'Galaxy', 'Text Type', 'Glass Surface', 'Scroll Stack'];
+export const NEW = ['Target Cursor', 'Ripple Grid', 'Magic Bento', 'Galaxy', 'Text Type', 'Glass Surface', 'Sticker Peel', 'Scroll Stack'];
export const UPDATED = [];
// Used for main sidebar navigation
@@ -39,6 +39,7 @@ export const CATEGORIES = [
'Splash Cursor',
'Pixel Transition',
'Target Cursor',
+ 'Sticker Peel',
'Ribbons',
'Glare Hover',
'Magnet Lines',
diff --git a/src/constants/Components.ts b/src/constants/Components.ts
index d2e0a77..374b699 100644
--- a/src/constants/Components.ts
+++ b/src/constants/Components.ts
@@ -19,6 +19,7 @@ const animations = {
'shape-blur': () => import('../demo/Animations/ShapeBlurDemo.vue'),
'target-cursor': () => import('../demo/Animations/TargetCursorDemo.vue'),
'crosshair': () => import('../demo/Animations/CrosshairDemo.vue'),
+ 'sticker-peel': () => import('../demo/Animations/StickerPeelDemo.vue'),
};
const textAnimations = {
diff --git a/src/constants/code/Animations/stickerPeelCode.ts b/src/constants/code/Animations/stickerPeelCode.ts
new file mode 100644
index 0000000..5b0b15d
--- /dev/null
+++ b/src/constants/code/Animations/stickerPeelCode.ts
@@ -0,0 +1,23 @@
+import code from '@/content/Animations/StickerPeel/StickerPeel.vue?raw';
+import { createCodeObject } from '@/types/code';
+
+export const stickerPeel = createCodeObject(code, 'Animations/StickerPeel', {
+ installation: `npm install gsap`,
+ usage: `
+
+
+
+`
+});
diff --git a/src/content/Animations/StickerPeel/StickerPeel.vue b/src/content/Animations/StickerPeel/StickerPeel.vue
new file mode 100644
index 0000000..09bffa0
--- /dev/null
+++ b/src/content/Animations/StickerPeel/StickerPeel.vue
@@ -0,0 +1,401 @@
+
+
+
+
+
+
+
+
+
+
![]()
+
+
+
+
+
![]()
+
+
+
+
+
+
![]()
+
+
+
+
+
+
+
+
diff --git a/src/demo/Animations/RibbonsDemo.vue b/src/demo/Animations/RibbonsDemo.vue
index 752e699..f8d90f7 100644
--- a/src/demo/Animations/RibbonsDemo.vue
+++ b/src/demo/Animations/RibbonsDemo.vue
@@ -70,7 +70,7 @@ import Ribbons from '../../content/Animations/Ribbons/Ribbons.vue';
import { ribbons } from '@/constants/code/Animations/ribbonsCode';
const baseThickness = ref(30);
-const colors = ref(['#5227FF']);
+const colors = ref(['#27FF64']);
const speedMultiplier = ref(0.5);
const maxAge = ref(500);
const enableFade = ref(false);
diff --git a/src/demo/Animations/StickerPeelDemo.vue b/src/demo/Animations/StickerPeelDemo.vue
new file mode 100644
index 0000000..b2d49e9
--- /dev/null
+++ b/src/demo/Animations/StickerPeelDemo.vue
@@ -0,0 +1,151 @@
+
+
+
+
+
+
+
+ Try dragging it!
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/demo/Components/GlassSurfaceDemo.vue b/src/demo/Components/GlassSurfaceDemo.vue
index 770c1b7..d65581c 100644
--- a/src/demo/Components/GlassSurfaceDemo.vue
+++ b/src/demo/Components/GlassSurfaceDemo.vue
@@ -1,7 +1,7 @@
-