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 @@ + + + + + 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 @@