diff --git a/README.md b/README.md index f3453a7..c67732f 100644 --- a/README.md +++ b/README.md @@ -28,13 +28,17 @@ Go to [vue-bits.dev](https://vue-bits.dev/) to view the documentation. ## About -Vue Bits is a large collection of animated Vue components made to spice up your web creations. We've got animations, components, backgrounds, and awesome stuff that you won't be able to find anywhere else - all free for you to use! These components are all enhanced with customization options as props, to make it easy for you to get exactly what you need. +This is the official Vue port of [React Bits](https://reactbits.dev)! + +Vue Bits is a large collection of animated Vue UI components made to spice up your web creations. We've got animations, components, backgrounds, and awesome stuff that you won't be able to find anywhere else - all free for you to use! + +These components are all enhanced with customization options as props, to make it easy for you to get exactly what you need. ## Key Features - 40+ total components (text animations, animations, components, backgrounds), growing every week -- All components have with minimal dependencies, and are highly customizable through props -- Designed to integrate seamlessly with any modern Vue project +- All components have minimal dependencies, and are highly customizable through props +- Designed to integrate seamlessly with any modern Vue/Nuxt project ## CLI (jsrepo) diff --git a/package-lock.json b/package-lock.json index a94de4c..a3c070d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,12 +9,18 @@ "version": "0.0.0", "dependencies": { "@primeuix/themes": "^1.2.1", + "@tresjs/cientos": "^4.3.1", + "@tresjs/core": "^4.3.6", + "@types/matter-js": "^0.19.8", + "@vueuse/motion": "^3.0.3", "@wdns/vue-code-block": "^2.3.5", "gsap": "^3.13.0", + "matter-js": "^0.20.0", "motion-v": "^1.5.0", "ogl": "^1.0.11", "primeicons": "^7.0.0", "primevue": "^4.3.6", + "three": "^0.178.0", "vue": "^3.5.17", "vue-router": "^4.5.1", "vue-sonner": "^2.0.1" @@ -23,6 +29,7 @@ "@tailwindcss/vite": "^4.1.11", "@tsconfig/node22": "^22.0.2", "@types/node": "^22.15.32", + "@types/three": "^0.178.0", "@vitejs/plugin-vue": "^6.0.0", "@vitejs/plugin-vue-jsx": "^5.0.0", "@vue/eslint-config-typescript": "^14.5.1", @@ -41,6 +48,11 @@ "vue-tsc": "^2.2.10" } }, + "node_modules/@alvarosabu/utils": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@alvarosabu/utils/-/utils-3.2.0.tgz", + "integrity": "sha512-aoGWRfaQjOo9TUwrBA6W0zwTHktgrXy69GIFNILT4gHsqscw6+X8P6uoSlZVQFr887SPm8x3aDin5EBVq8y4pw==" + }, "node_modules/@ampproject/remapping": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", @@ -627,6 +639,12 @@ "sisteransi": "^1.0.5" } }, + "node_modules/@dimforge/rapier3d-compat": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@dimforge/rapier3d-compat/-/rapier3d-compat-0.12.0.tgz", + "integrity": "sha512-uekIGetywIgopfD97oDL5PfeezkFpNhwlzlaEYNOA0N6ghdsOvh/HYjSMek5Q2O1PYvRSDFcqFVJl4r4ZBwOow==", + "license": "Apache-2.0" + }, "node_modules/@emnapi/core": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.4.4.tgz", @@ -1460,6 +1478,63 @@ "node": ">= 8" } }, + "node_modules/@nuxt/kit": { + "version": "3.17.6", + "resolved": "https://registry.npmjs.org/@nuxt/kit/-/kit-3.17.6.tgz", + "integrity": "sha512-8PKRwoEF70IXVrpGEJZ4g4V2WtE9RjSMgSZLLa0HZCoyT+QczJcJe3kho/XKnJOnNnHep4WqciTD7p4qRRtBqw==", + "license": "MIT", + "optional": true, + "dependencies": { + "c12": "^3.0.4", + "consola": "^3.4.2", + "defu": "^6.1.4", + "destr": "^2.0.5", + "errx": "^0.1.0", + "exsolve": "^1.0.7", + "ignore": "^7.0.5", + "jiti": "^2.4.2", + "klona": "^2.0.6", + "knitwork": "^1.2.0", + "mlly": "^1.7.4", + "ohash": "^2.0.11", + "pathe": "^2.0.3", + "pkg-types": "^2.2.0", + "scule": "^1.3.0", + "semver": "^7.7.2", + "std-env": "^3.9.0", + "tinyglobby": "^0.2.14", + "ufo": "^1.6.1", + "unctx": "^2.4.1", + "unimport": "^5.1.0", + "untyped": "^2.0.0" + }, + "engines": { + "node": ">=18.12.0" + } + }, + "node_modules/@nuxt/kit/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/@nuxt/kit/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "license": "ISC", + "optional": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@octokit/app": { "version": "15.1.6", "resolved": "https://registry.npmjs.org/@octokit/app/-/app-15.1.6.tgz", @@ -2711,6 +2786,124 @@ "vite": "^5.2.0 || ^6 || ^7" } }, + "node_modules/@tresjs/cientos": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@tresjs/cientos/-/cientos-4.3.1.tgz", + "integrity": "sha512-3qp6lEtMrFdhxDuASP1Sz/hEi8+xcEpM6Vd6uDJysCh4uRAzyJLlBSbPoR7gVjN12wrhwJIF1AfYEFz/Vhz5ZQ==", + "license": "MIT", + "dependencies": { + "@vueuse/core": "^12.0.0", + "camera-controls": "^2.9.0", + "stats-gl": "^2.0.1", + "stats.js": "^0.17.0", + "three-custom-shader-material": "^5.4.0", + "three-stdlib": "^2.34.0" + }, + "peerDependencies": { + "@tresjs/core": ">=4.2.1", + "three": ">=0.133", + "vue": ">=3.3" + } + }, + "node_modules/@tresjs/cientos/node_modules/@types/web-bluetooth": { + "version": "0.0.21", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.21.tgz", + "integrity": "sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==", + "license": "MIT" + }, + "node_modules/@tresjs/cientos/node_modules/@vueuse/core": { + "version": "12.8.2", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-12.8.2.tgz", + "integrity": "sha512-HbvCmZdzAu3VGi/pWYm5Ut+Kd9mn1ZHnn4L5G8kOQTPs/IwIAmJoBrmYk2ckLArgMXZj0AW3n5CAejLUO+PhdQ==", + "license": "MIT", + "dependencies": { + "@types/web-bluetooth": "^0.0.21", + "@vueuse/metadata": "12.8.2", + "@vueuse/shared": "12.8.2", + "vue": "^3.5.13" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@tresjs/cientos/node_modules/@vueuse/metadata": { + "version": "12.8.2", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-12.8.2.tgz", + "integrity": "sha512-rAyLGEuoBJ/Il5AmFHiziCPdQzRt88VxR+Y/A/QhJ1EWtWqPBBAxTAFaSkviwEuOEZNtW8pvkPgoCZQ+HxqW1A==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@tresjs/cientos/node_modules/@vueuse/shared": { + "version": "12.8.2", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-12.8.2.tgz", + "integrity": "sha512-dznP38YzxZoNloI0qpEfpkms8knDtaoQ6Y/sfS0L7Yki4zh40LFHEhur0odJC6xTHG5dxWVPiUWBXn+wCG2s5w==", + "license": "MIT", + "dependencies": { + "vue": "^3.5.13" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@tresjs/core": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/@tresjs/core/-/core-4.3.6.tgz", + "integrity": "sha512-CCk4+jwbiTl7Hj3REZqweglUQQdA3cF29TqJ4dEWunaBPyfsAGLTlJExK5lGIS10ptJkr8DqPvHQT41iTIb0Yg==", + "license": "MIT", + "dependencies": { + "@alvarosabu/utils": "^3.2.0", + "@vue/devtools-api": "^6.6.3", + "@vueuse/core": "^12.5.0" + }, + "peerDependencies": { + "three": ">=0.133", + "vue": ">=3.4" + } + }, + "node_modules/@tresjs/core/node_modules/@types/web-bluetooth": { + "version": "0.0.21", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.21.tgz", + "integrity": "sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==", + "license": "MIT" + }, + "node_modules/@tresjs/core/node_modules/@vueuse/core": { + "version": "12.8.2", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-12.8.2.tgz", + "integrity": "sha512-HbvCmZdzAu3VGi/pWYm5Ut+Kd9mn1ZHnn4L5G8kOQTPs/IwIAmJoBrmYk2ckLArgMXZj0AW3n5CAejLUO+PhdQ==", + "license": "MIT", + "dependencies": { + "@types/web-bluetooth": "^0.0.21", + "@vueuse/metadata": "12.8.2", + "@vueuse/shared": "12.8.2", + "vue": "^3.5.13" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@tresjs/core/node_modules/@vueuse/metadata": { + "version": "12.8.2", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-12.8.2.tgz", + "integrity": "sha512-rAyLGEuoBJ/Il5AmFHiziCPdQzRt88VxR+Y/A/QhJ1EWtWqPBBAxTAFaSkviwEuOEZNtW8pvkPgoCZQ+HxqW1A==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@tresjs/core/node_modules/@vueuse/shared": { + "version": "12.8.2", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-12.8.2.tgz", + "integrity": "sha512-dznP38YzxZoNloI0qpEfpkms8knDtaoQ6Y/sfS0L7Yki4zh40LFHEhur0odJC6xTHG5dxWVPiUWBXn+wCG2s5w==", + "license": "MIT", + "dependencies": { + "vue": "^3.5.13" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/@tsconfig/node22": { "version": "22.0.2", "resolved": "https://registry.npmjs.org/@tsconfig/node22/-/node22-22.0.2.tgz", @@ -2718,6 +2911,12 @@ "dev": true, "license": "MIT" }, + "node_modules/@tweenjs/tween.js": { + "version": "23.1.3", + "resolved": "https://registry.npmjs.org/@tweenjs/tween.js/-/tween.js-23.1.3.tgz", + "integrity": "sha512-vJmvvwFxYuGnF2axRtPYocag6Clbb5YS7kLL+SO/TeVFzHqDIWrNKYtcsPMibjDx9O+bu+psAy9NKfWklassUA==", + "license": "MIT" + }, "node_modules/@tybys/wasm-util": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.9.0.tgz", @@ -2736,11 +2935,17 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/draco3d": { + "version": "1.4.10", + "resolved": "https://registry.npmjs.org/@types/draco3d/-/draco3d-1.4.10.tgz", + "integrity": "sha512-AX22jp8Y7wwaBgAixaSvkoG4M/+PlAcm3Qs4OW8yT9DM4xUpWKeFhLueTAyZF39pviAdcDdeJoACapiAceqNcw==", + "license": "MIT" + }, "node_modules/@types/estree": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/@types/json-schema": { @@ -2750,6 +2955,12 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/matter-js": { + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@types/matter-js/-/matter-js-0.19.8.tgz", + "integrity": "sha512-W2ZWG58Lijv/4v768NgpeyFqqiOyslmAU7qqM1Lhz4XBoUgGtZtPz4CjcOKYtqHIak14dvPldslQhltqLTWwsw==", + "license": "MIT" + }, "node_modules/@types/node": { "version": "22.16.0", "resolved": "https://registry.npmjs.org/@types/node/-/node-22.16.0.tgz", @@ -2771,12 +2982,45 @@ "form-data": "^4.0.0" } }, + "node_modules/@types/offscreencanvas": { + "version": "2019.7.3", + "resolved": "https://registry.npmjs.org/@types/offscreencanvas/-/offscreencanvas-2019.7.3.tgz", + "integrity": "sha512-ieXiYmgSRXUDeOntE1InxjWyvEelZGP63M+cGuquuRLuIKKT1osnkXjxev9B7d1nXSug5vpunx+gNlbVxMlC9A==", + "license": "MIT" + }, + "node_modules/@types/stats.js": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/stats.js/-/stats.js-0.17.4.tgz", + "integrity": "sha512-jIBvWWShCvlBqBNIZt0KAshWpvSjhkwkEu4ZUcASoAvhmrgAUI2t1dXrjSL4xXVLB4FznPrIsX3nKXFl/Dt4vA==", + "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==", + "license": "MIT", + "dependencies": { + "@dimforge/rapier3d-compat": "~0.12.0", + "@tweenjs/tween.js": "~23.1.3", + "@types/stats.js": "*", + "@types/webxr": "*", + "@webgpu/types": "*", + "fflate": "~0.8.2", + "meshoptimizer": "~0.18.1" + } + }, "node_modules/@types/web-bluetooth": { "version": "0.0.20", "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz", "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==", "license": "MIT" }, + "node_modules/@types/webxr": { + "version": "0.5.22", + "resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.22.tgz", + "integrity": "sha512-Vr6Stjv5jPRqH690f5I5GLjVk8GSsoQSYJ2FVd/3jJF7KaqfwPi3ehfBS96mlQ2kPCwZaX6U0rG2+NGHBKkA/A==", + "license": "MIT" + }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "8.36.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.36.0.tgz", @@ -3460,6 +3704,70 @@ "url": "https://github.com/sponsors/antfu" } }, + "node_modules/@vueuse/motion": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@vueuse/motion/-/motion-3.0.3.tgz", + "integrity": "sha512-4B+ITsxCI9cojikvrpaJcLXyq0spj3sdlzXjzesWdMRd99hhtFI6OJ/1JsqwtF73YooLe0hUn/xDR6qCtmn5GQ==", + "license": "MIT", + "dependencies": { + "@vueuse/core": "^13.0.0", + "@vueuse/shared": "^13.0.0", + "defu": "^6.1.4", + "framesync": "^6.1.2", + "popmotion": "^11.0.5", + "style-value-types": "^5.1.2" + }, + "optionalDependencies": { + "@nuxt/kit": "^3.13.0" + }, + "peerDependencies": { + "vue": ">=3.0.0" + } + }, + "node_modules/@vueuse/motion/node_modules/@types/web-bluetooth": { + "version": "0.0.21", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.21.tgz", + "integrity": "sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==", + "license": "MIT" + }, + "node_modules/@vueuse/motion/node_modules/@vueuse/core": { + "version": "13.5.0", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-13.5.0.tgz", + "integrity": "sha512-wV7z0eUpifKmvmN78UBZX8T7lMW53Nrk6JP5+6hbzrB9+cJ3jr//hUlhl9TZO/03bUkMK6gGkQpqOPWoabr72g==", + "license": "MIT", + "dependencies": { + "@types/web-bluetooth": "^0.0.21", + "@vueuse/metadata": "13.5.0", + "@vueuse/shared": "13.5.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vue": "^3.5.0" + } + }, + "node_modules/@vueuse/motion/node_modules/@vueuse/metadata": { + "version": "13.5.0", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-13.5.0.tgz", + "integrity": "sha512-euhItU3b0SqXxSy8u1XHxUCdQ8M++bsRs+TYhOLDU/OykS7KvJnyIFfep0XM5WjIFry9uAPlVSjmVHiqeshmkw==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/motion/node_modules/@vueuse/shared": { + "version": "13.5.0", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-13.5.0.tgz", + "integrity": "sha512-K7GrQIxJ/ANtucxIXbQlUHdB0TPA8c+q5i+zbrjxuhJCnJ9GtBg75sBSnvmLSxHKPg2Yo8w62PWksl9kwH0Q8g==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vue": "^3.5.0" + } + }, "node_modules/@vueuse/shared": { "version": "10.11.1", "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.11.1.tgz", @@ -3520,6 +3828,12 @@ "vue": "^3.4.31" } }, + "node_modules/@webgpu/types": { + "version": "0.1.64", + "resolved": "https://registry.npmjs.org/@webgpu/types/-/types-0.1.64.tgz", + "integrity": "sha512-84kRIAGV46LJTlJZWxShiOrNL30A+9KokD7RB3dRCIqODFjodS5tCD5yyiZ8kIReGVZSDfA3XkkwyyOIF6K62A==", + "license": "BSD-3-Clause" + }, "node_modules/abort-controller": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", @@ -3537,7 +3851,7 @@ "version": "8.15.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", - "dev": true, + "devOptional": true, "license": "MIT", "bin": { "acorn": "bin/acorn" @@ -3947,6 +4261,35 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/c12": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/c12/-/c12-3.0.4.tgz", + "integrity": "sha512-t5FaZTYbbCtvxuZq9xxIruYydrAGsJ+8UdP0pZzMiK2xl/gNiSOy0OxhLzHUEEb0m1QXYqfzfvyIFEmz/g9lqg==", + "license": "MIT", + "optional": true, + "dependencies": { + "chokidar": "^4.0.3", + "confbox": "^0.2.2", + "defu": "^6.1.4", + "dotenv": "^16.5.0", + "exsolve": "^1.0.5", + "giget": "^2.0.0", + "jiti": "^2.4.2", + "ohash": "^2.0.11", + "pathe": "^2.0.3", + "perfect-debounce": "^1.0.0", + "pkg-types": "^2.1.0", + "rc9": "^2.1.2" + }, + "peerDependencies": { + "magicast": "^0.3.5" + }, + "peerDependenciesMeta": { + "magicast": { + "optional": true + } + } + }, "node_modules/call-bind-apply-helpers": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", @@ -3984,6 +4327,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/camera-controls": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/camera-controls/-/camera-controls-2.10.1.tgz", + "integrity": "sha512-KnaKdcvkBJ1Irbrzl8XD6WtZltkRjp869Jx8c0ujs9K+9WD+1D7ryBsCiVqJYUqt6i/HR5FxT7RLASieUD+Q5w==", + "license": "MIT", + "peerDependencies": { + "three": ">=0.126.1" + } + }, "node_modules/caniuse-lite": { "version": "1.0.30001727", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001727.tgz", @@ -4022,6 +4374,22 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "license": "MIT", + "optional": true, + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/chownr": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", @@ -4032,6 +4400,16 @@ "node": ">=18" } }, + "node_modules/citty": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/citty/-/citty-0.1.6.tgz", + "integrity": "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "consola": "^3.2.3" + } + }, "node_modules/cli-boxes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", @@ -4166,6 +4544,23 @@ "node": ">=10" } }, + "node_modules/confbox": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.2.tgz", + "integrity": "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==", + "license": "MIT", + "optional": true + }, + "node_modules/consola": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/consola/-/consola-3.4.2.tgz", + "integrity": "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==", + "license": "MIT", + "optional": true, + "engines": { + "node": "^14.18.0 || >=16.10.0" + } + }, "node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", @@ -4189,6 +4584,12 @@ "url": "https://github.com/sponsors/mesqueeb" } }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "license": "MIT" + }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", @@ -4334,6 +4735,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/defu": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", + "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", + "license": "MIT" + }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -4344,6 +4751,13 @@ "node": ">=0.4.0" } }, + "node_modules/destr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.5.tgz", + "integrity": "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==", + "license": "MIT", + "optional": true + }, "node_modules/detect-libc": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", @@ -4380,6 +4794,25 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/dotenv": { + "version": "16.6.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz", + "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==", + "license": "BSD-2-Clause", + "optional": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/draco3d": { + "version": "1.5.7", + "resolved": "https://registry.npmjs.org/draco3d/-/draco3d-1.5.7.tgz", + "integrity": "sha512-m6WCKt/erDXcw+70IJXnG7M3awwQPAsZvJGX5zY7beBqpELw6RDGkYVU0W43AFxye4pDZ5i2Lbyc/NNGqwjUVQ==", + "license": "Apache-2.0" + }, "node_modules/dunder-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", @@ -4458,6 +4891,13 @@ "url": "https://github.com/sponsors/antfu" } }, + "node_modules/errx": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/errx/-/errx-0.1.0.tgz", + "integrity": "sha512-fZmsRiDNv07K6s2KkKFTiD2aIvECa7++PKyD5NC32tpRw46qZA3sOz+aM+/V9V0GDHxVTKLziveV4JhzBHDp9Q==", + "license": "MIT", + "optional": true + }, "node_modules/es-define-property": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", @@ -4872,6 +5312,13 @@ "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, + "node_modules/exsolve": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.0.7.tgz", + "integrity": "sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==", + "license": "MIT", + "optional": true + }, "node_modules/fast-content-type-parse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-2.0.1.tgz", @@ -5001,6 +5448,12 @@ "node": ">= 8" } }, + "node_modules/fflate": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", + "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", + "license": "MIT" + }, "node_modules/figures": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz", @@ -5173,6 +5626,21 @@ } } }, + "node_modules/framesync": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/framesync/-/framesync-6.1.2.tgz", + "integrity": "sha512-jBTqhX6KaQVDyus8muwZbBeGGP0XgujBRbQ7gM7BRdS3CadCZIHiawyzYLnafYcvZIh5j8WE7cxZKFn7dXhu9g==", + "license": "MIT", + "dependencies": { + "tslib": "2.4.0" + } + }, + "node_modules/framesync/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", + "license": "0BSD" + }, "node_modules/fs-extra": { "version": "11.3.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.0.tgz", @@ -5305,6 +5773,24 @@ "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" } }, + "node_modules/giget": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/giget/-/giget-2.0.0.tgz", + "integrity": "sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA==", + "license": "MIT", + "optional": true, + "dependencies": { + "citty": "^0.1.6", + "consola": "^3.4.0", + "defu": "^6.1.4", + "node-fetch-native": "^1.6.6", + "nypm": "^0.6.0", + "pathe": "^2.0.3" + }, + "bin": { + "giget": "dist/cli.mjs" + } + }, "node_modules/glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", @@ -5331,6 +5817,27 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/glsl-token-functions": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/glsl-token-functions/-/glsl-token-functions-1.0.1.tgz", + "integrity": "sha512-EigGhp1g+aUVeUNY7H1o5tL/bnwIB3/FcRREPr2E7Du+/UDXN24hDkaZ3e4aWHDjHr9lJ6YHXMISkwhUYg9UOg==", + "license": "MIT" + }, + "node_modules/glsl-token-string": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/glsl-token-string/-/glsl-token-string-1.0.1.tgz", + "integrity": "sha512-1mtQ47Uxd47wrovl+T6RshKGkRRCYWhnELmkEcUAPALWGTFe2XZpH3r45XAwL2B6v+l0KNsCnoaZCSnhzKEksg==", + "license": "MIT" + }, + "node_modules/glsl-tokenizer": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/glsl-tokenizer/-/glsl-tokenizer-2.1.5.tgz", + "integrity": "sha512-XSZEJ/i4dmz3Pmbnpsy3cKh7cotvFlBiZnDOwnj/05EwNp2XrhQ4XKJxT7/pDt4kp4YcpRSKz8eTV7S+mwV6MA==", + "license": "MIT", + "dependencies": { + "through2": "^0.6.3" + } + }, "node_modules/gopd": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", @@ -5505,6 +6012,12 @@ "node": ">=0.8.19" } }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, "node_modules/is-docker": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", @@ -5661,6 +6174,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "license": "MIT" + }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -5672,7 +6191,7 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz", "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==", - "dev": true, + "devOptional": true, "license": "MIT", "bin": { "jiti": "lib/jiti-cli.mjs" @@ -5888,6 +6407,23 @@ "json-buffer": "3.0.1" } }, + "node_modules/klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/knitwork": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/knitwork/-/knitwork-1.2.0.tgz", + "integrity": "sha512-xYSH7AvuQ6nXkq42x0v5S8/Iry+cfulBz/DJQzhIyESdLD7425jXsPy4vn5cCXU+HhRN2kVw51Vd1K6/By4BQg==", + "license": "MIT", + "optional": true + }, "node_modules/kolorist": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz", @@ -6148,6 +6684,24 @@ "url": "https://opencollective.com/parcel" } }, + "node_modules/local-pkg": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-1.1.1.tgz", + "integrity": "sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==", + "license": "MIT", + "optional": true, + "dependencies": { + "mlly": "^1.7.4", + "pkg-types": "^2.0.1", + "quansync": "^0.2.8" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/locate-character": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz", @@ -6207,6 +6761,12 @@ "node": ">= 0.4" } }, + "node_modules/matter-js": { + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/matter-js/-/matter-js-0.20.0.tgz", + "integrity": "sha512-iC9fYR7zVT3HppNnsFsp9XOoQdQN2tUyfaKg4CHLH8bN+j6GT4Gw7IH2rP0tflAebrHFw730RR3DkVSZRX8hwA==", + "license": "MIT" + }, "node_modules/memorystream": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", @@ -6226,6 +6786,12 @@ "node": ">= 8" } }, + "node_modules/meshoptimizer": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/meshoptimizer/-/meshoptimizer-0.18.1.tgz", + "integrity": "sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw==", + "license": "MIT" + }, "node_modules/micromatch": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", @@ -6338,6 +6904,38 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/mlly": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.4.tgz", + "integrity": "sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==", + "license": "MIT", + "optional": true, + "dependencies": { + "acorn": "^8.14.0", + "pathe": "^2.0.1", + "pkg-types": "^1.3.0", + "ufo": "^1.5.4" + } + }, + "node_modules/mlly/node_modules/confbox": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz", + "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", + "license": "MIT", + "optional": true + }, + "node_modules/mlly/node_modules/pkg-types": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz", + "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "confbox": "^0.1.8", + "mlly": "^1.7.4", + "pathe": "^2.0.1" + } + }, "node_modules/motion-dom": { "version": "12.22.0", "resolved": "https://registry.npmjs.org/motion-dom/-/motion-dom-12.22.0.tgz", @@ -6457,6 +7055,13 @@ "url": "https://opencollective.com/node-fetch" } }, + "node_modules/node-fetch-native": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.6.tgz", + "integrity": "sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ==", + "license": "MIT", + "optional": true + }, "node_modules/node-releases": { "version": "2.0.19", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", @@ -6606,6 +7211,35 @@ "url": "https://github.com/fb55/nth-check?sponsor=1" } }, + "node_modules/nypm": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/nypm/-/nypm-0.6.0.tgz", + "integrity": "sha512-mn8wBFV9G9+UFHIrq+pZ2r2zL4aPau/by3kJb3cM7+5tQHMt6HGQB8FDIeKFYp8o0D2pnH6nVsO88N4AmUxIWg==", + "license": "MIT", + "optional": true, + "dependencies": { + "citty": "^0.1.6", + "consola": "^3.4.0", + "pathe": "^2.0.3", + "pkg-types": "^2.0.0", + "tinyexec": "^0.3.2" + }, + "bin": { + "nypm": "dist/cli.mjs" + }, + "engines": { + "node": "^14.16.0 || >=16.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, "node_modules/octokit": { "version": "4.1.4", "resolved": "https://registry.npmjs.org/octokit/-/octokit-4.1.4.tgz", @@ -6635,6 +7269,13 @@ "integrity": "sha512-kUpC154AFfxi16pmZUK4jk3J+8zxwTWGPo03EoYA8QPbzikHoaC82n6pNTbd+oEaJonaE8aPWBlX7ad9zrqLsA==", "license": "Unlicense" }, + "node_modules/ohash": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", + "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", + "license": "MIT", + "optional": true + }, "node_modules/ollama": { "version": "0.5.16", "resolved": "https://registry.npmjs.org/ollama/-/ollama-0.5.16.tgz", @@ -6901,14 +7542,14 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/perfect-debounce": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz", "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/picocolors": { @@ -6943,6 +7584,36 @@ "node": ">=0.10" } }, + "node_modules/pkg-types": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.2.0.tgz", + "integrity": "sha512-2SM/GZGAEkPp3KWORxQZns4M+WSeXbC2HEvmOIJe3Cmiv6ieAJvdVhDldtHqM5J1Y7MrR1XhkBT/rMlhh9FdqQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "confbox": "^0.2.2", + "exsolve": "^1.0.7", + "pathe": "^2.0.3" + } + }, + "node_modules/popmotion": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/popmotion/-/popmotion-11.0.5.tgz", + "integrity": "sha512-la8gPM1WYeFznb/JqF4GiTkRRPZsfaj2+kCxqQgr2MJylMmIKUwBfWW8Wa5fml/8gmtlD5yI01MP1QCZPWmppA==", + "license": "MIT", + "dependencies": { + "framesync": "6.1.2", + "hey-listen": "^1.0.8", + "style-value-types": "5.1.2", + "tslib": "2.4.0" + } + }, + "node_modules/popmotion/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", + "license": "0BSD" + }, "node_modules/postcss": { "version": "8.5.6", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", @@ -6992,6 +7663,12 @@ "dev": true, "license": "MIT" }, + "node_modules/potpack": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/potpack/-/potpack-1.0.2.tgz", + "integrity": "sha512-choctRBIV9EMT9WGAZHn3V7t0Z2pMQyl0EZE6pFc/6ml3ssw7Dlf/oAOvFwjm1HVsqfQN8GfeFyJ+d8tRzqueQ==", + "license": "ISC" + }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -7086,6 +7763,23 @@ "node": ">=6" } }, + "node_modules/quansync": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/quansync/-/quansync-0.2.10.tgz", + "integrity": "sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/antfu" + }, + { + "type": "individual", + "url": "https://github.com/sponsors/sxzz" + } + ], + "license": "MIT", + "optional": true + }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -7107,6 +7801,17 @@ ], "license": "MIT" }, + "node_modules/rc9": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/rc9/-/rc9-2.1.2.tgz", + "integrity": "sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==", + "license": "MIT", + "optional": true, + "dependencies": { + "defu": "^6.1.4", + "destr": "^2.0.3" + } + }, "node_modules/read-package-json-fast": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-4.0.0.tgz", @@ -7121,6 +7826,32 @@ "node": "^18.17.0 || >=20.5.0" } }, + "node_modules/readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/require-from-string": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", @@ -7246,6 +7977,13 @@ "queue-microtask": "^1.2.2" } }, + "node_modules/scule": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/scule/-/scule-1.3.0.tgz", + "integrity": "sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==", + "license": "MIT", + "optional": true + }, "node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -7346,6 +8084,45 @@ "node": ">=0.10.0" } }, + "node_modules/stats-gl": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/stats-gl/-/stats-gl-2.4.2.tgz", + "integrity": "sha512-g5O9B0hm9CvnM36+v7SFl39T7hmAlv541tU81ME8YeSb3i1CIP5/QdDeSB3A0la0bKNHpxpwxOVRo2wFTYEosQ==", + "license": "MIT", + "dependencies": { + "@types/three": "*", + "three": "^0.170.0" + }, + "peerDependencies": { + "@types/three": "*", + "three": "*" + } + }, + "node_modules/stats-gl/node_modules/three": { + "version": "0.170.0", + "resolved": "https://registry.npmjs.org/three/-/three-0.170.0.tgz", + "integrity": "sha512-FQK+LEpYc0fBD+J8g6oSEyyNzjp+Q7Ks1C568WWaoMRLW+TkNNWmenWeGgJjV105Gd+p/2ql1ZcjYvNiPZBhuQ==", + "license": "MIT" + }, + "node_modules/stats.js": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/stats.js/-/stats.js-0.17.0.tgz", + "integrity": "sha512-hNKz8phvYLPEcRkeG1rsGmV5ChMjKDAWU7/OJJdDErPBNChQXxCo3WZurGpnWc6gZhAzEPFad1aVgyOANH1sMw==", + "license": "MIT" + }, + "node_modules/std-env": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.9.0.tgz", + "integrity": "sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==", + "license": "MIT", + "optional": true + }, + "node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "license": "MIT" + }, "node_modules/string-width": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", @@ -7406,12 +8183,48 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/strip-literal": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-3.0.0.tgz", + "integrity": "sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==", + "license": "MIT", + "optional": true, + "dependencies": { + "js-tokens": "^9.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/strip-literal/node_modules/js-tokens": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz", + "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", + "license": "MIT", + "optional": true + }, "node_modules/stubborn-fs": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/stubborn-fs/-/stubborn-fs-1.2.5.tgz", "integrity": "sha512-H2N9c26eXjzL/S/K+i/RHHcFanE74dptvvjM8iwzwbVcWY/zjBbgRqF3K0DY4+OD+uTTASTBvDoxPDaPN02D7g==", "dev": true }, + "node_modules/style-value-types": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/style-value-types/-/style-value-types-5.1.2.tgz", + "integrity": "sha512-Vs9fNreYF9j6W2VvuDTP7kepALi7sk0xtk2Tu8Yxi9UoajJdEVpNpCov0HsLTqXvNGKX+Uv09pkozVITi1jf3Q==", + "license": "MIT", + "dependencies": { + "hey-listen": "^1.0.8", + "tslib": "2.4.0" + } + }, + "node_modules/style-value-types/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", + "license": "0BSD" + }, "node_modules/superjson": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/superjson/-/superjson-2.2.2.tgz", @@ -7509,11 +8322,82 @@ "node": ">=18" } }, + "node_modules/three": { + "version": "0.178.0", + "resolved": "https://registry.npmjs.org/three/-/three-0.178.0.tgz", + "integrity": "sha512-ybFIB0+x8mz0wnZgSGy2MO/WCO6xZhQSZnmfytSPyNpM0sBafGRVhdaj+erYh5U+RhQOAg/eXqw5uVDiM2BjhQ==", + "license": "MIT" + }, + "node_modules/three-custom-shader-material": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/three-custom-shader-material/-/three-custom-shader-material-5.4.0.tgz", + "integrity": "sha512-Yn1lFlKOk3Vul3npEGAmbbFUZ5S2+yjPgM2XqJEZEYRSUUH2vk+WVYrtTB6Bcq15wa7hLUXAKoctAvbRmBmbYA==", + "license": "MIT", + "dependencies": { + "glsl-token-functions": "^1.0.1", + "glsl-token-string": "^1.0.1", + "glsl-tokenizer": "^2.1.5", + "object-hash": "^3.0.0" + }, + "peerDependencies": { + "@react-three/fiber": ">=8.0", + "react": ">=18.0", + "three": ">=0.154" + }, + "peerDependenciesMeta": { + "@react-three/fiber": { + "optional": true + }, + "react": { + "optional": true + } + } + }, + "node_modules/three-stdlib": { + "version": "2.36.0", + "resolved": "https://registry.npmjs.org/three-stdlib/-/three-stdlib-2.36.0.tgz", + "integrity": "sha512-kv0Byb++AXztEGsULgMAs8U2jgUdz6HPpAB/wDJnLiLlaWQX2APHhiTJIN7rqW+Of0eRgcp7jn05U1BsCP3xBA==", + "license": "MIT", + "dependencies": { + "@types/draco3d": "^1.4.0", + "@types/offscreencanvas": "^2019.6.4", + "@types/webxr": "^0.5.2", + "draco3d": "^1.4.1", + "fflate": "^0.6.9", + "potpack": "^1.0.1" + }, + "peerDependencies": { + "three": ">=0.128.0" + } + }, + "node_modules/three-stdlib/node_modules/fflate": { + "version": "0.6.10", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.6.10.tgz", + "integrity": "sha512-IQrh3lEPM93wVCEczc9SaAOvkmcoQn/G8Bo1e8ZPlY3X3bnAxWaBdvTdvM1hP62iZp0BXWDy4vTAy4fF0+Dlpg==", + "license": "MIT" + }, + "node_modules/through2": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "integrity": "sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg==", + "license": "MIT", + "dependencies": { + "readable-stream": ">=1.0.33-1 <1.1.0-0", + "xtend": ">=4.0.0 <4.1.0-0" + } + }, + "node_modules/tinyexec": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", + "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", + "license": "MIT", + "optional": true + }, "node_modules/tinyglobby": { "version": "0.2.14", "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "fdir": "^6.4.4", @@ -7530,7 +8414,7 @@ "version": "6.4.6", "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", - "dev": true, + "devOptional": true, "license": "MIT", "peerDependencies": { "picomatch": "^3 || ^4" @@ -7545,7 +8429,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=12" @@ -7702,6 +8586,13 @@ "node": "*" } }, + "node_modules/ufo": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.1.tgz", + "integrity": "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==", + "license": "MIT", + "optional": true + }, "node_modules/uint8array-extras": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/uint8array-extras/-/uint8array-extras-1.4.0.tgz", @@ -7715,6 +8606,29 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/unctx": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/unctx/-/unctx-2.4.1.tgz", + "integrity": "sha512-AbaYw0Nm4mK4qjhns67C+kgxR2YWiwlDBPzxrN8h8C6VtAdCgditAY5Dezu3IJy4XVqAnbrXt9oQJvsn3fyozg==", + "license": "MIT", + "optional": true, + "dependencies": { + "acorn": "^8.14.0", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.17", + "unplugin": "^2.1.0" + } + }, + "node_modules/unctx/node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "license": "MIT", + "optional": true, + "dependencies": { + "@types/estree": "^1.0.0" + } + }, "node_modules/undici-types": { "version": "6.21.0", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", @@ -7735,6 +8649,68 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/unimport": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/unimport/-/unimport-5.1.0.tgz", + "integrity": "sha512-wMmuG+wkzeHh2KCE6yiDlHmKelN8iE/maxkUYMbmrS6iV8+n6eP1TH3yKKlepuF4hrkepinEGmBXdfo9XZUvAw==", + "license": "MIT", + "optional": true, + "dependencies": { + "acorn": "^8.15.0", + "escape-string-regexp": "^5.0.0", + "estree-walker": "^3.0.3", + "local-pkg": "^1.1.1", + "magic-string": "^0.30.17", + "mlly": "^1.7.4", + "pathe": "^2.0.3", + "picomatch": "^4.0.2", + "pkg-types": "^2.1.1", + "scule": "^1.3.0", + "strip-literal": "^3.0.0", + "tinyglobby": "^0.2.14", + "unplugin": "^2.3.5", + "unplugin-utils": "^0.2.4" + }, + "engines": { + "node": ">=18.12.0" + } + }, + "node_modules/unimport/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/unimport/node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "license": "MIT", + "optional": true, + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/unimport/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/universal-github-app-jwt": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/universal-github-app-jwt/-/universal-github-app-jwt-2.2.2.tgz", @@ -7759,6 +8735,81 @@ "node": ">= 10.0.0" } }, + "node_modules/unplugin": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-2.3.5.tgz", + "integrity": "sha512-RyWSb5AHmGtjjNQ6gIlA67sHOsWpsbWpwDokLwTcejVdOjEkJZh7QKu14J00gDDVSh8kGH4KYC/TNBceXFZhtw==", + "license": "MIT", + "optional": true, + "dependencies": { + "acorn": "^8.14.1", + "picomatch": "^4.0.2", + "webpack-virtual-modules": "^0.6.2" + }, + "engines": { + "node": ">=18.12.0" + } + }, + "node_modules/unplugin-utils": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/unplugin-utils/-/unplugin-utils-0.2.4.tgz", + "integrity": "sha512-8U/MtpkPkkk3Atewj1+RcKIjb5WBimZ/WSLhhR3w6SsIj8XJuKTacSP8g+2JhfSGw0Cb125Y+2zA/IzJZDVbhA==", + "license": "MIT", + "optional": true, + "dependencies": { + "pathe": "^2.0.2", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=18.12.0" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" + } + }, + "node_modules/unplugin-utils/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/unplugin/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/untyped": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/untyped/-/untyped-2.0.0.tgz", + "integrity": "sha512-nwNCjxJTjNuLCgFr42fEak5OcLuB3ecca+9ksPFNvtfYSLpjf+iJqSIaSnIile6ZPbKYxI5k2AfXqeopGudK/g==", + "license": "MIT", + "optional": true, + "dependencies": { + "citty": "^0.1.6", + "defu": "^6.1.4", + "jiti": "^2.4.2", + "knitwork": "^1.2.0", + "scule": "^1.3.0" + }, + "bin": { + "untyped": "dist/cli.mjs" + } + }, "node_modules/update-browserslist-db": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", @@ -8156,6 +9207,13 @@ "dev": true, "license": "BSD-2-Clause" }, + "node_modules/webpack-virtual-modules": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz", + "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==", + "license": "MIT", + "optional": true + }, "node_modules/whatwg-fetch": { "version": "3.6.20", "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", @@ -8264,6 +9322,15 @@ "node": ">=12" } }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "license": "MIT", + "engines": { + "node": ">=0.4" + } + }, "node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", diff --git a/package.json b/package.json index 1079e9c..cba736a 100644 --- a/package.json +++ b/package.json @@ -15,12 +15,18 @@ }, "dependencies": { "@primeuix/themes": "^1.2.1", + "@tresjs/cientos": "^4.3.1", + "@tresjs/core": "^4.3.6", + "@types/matter-js": "^0.19.8", + "@vueuse/motion": "^3.0.3", "@wdns/vue-code-block": "^2.3.5", "gsap": "^3.13.0", + "matter-js": "^0.20.0", "motion-v": "^1.5.0", "ogl": "^1.0.11", "primeicons": "^7.0.0", "primevue": "^4.3.6", + "three": "^0.178.0", "vue": "^3.5.17", "vue-router": "^4.5.1", "vue-sonner": "^2.0.1" @@ -29,6 +35,7 @@ "@tailwindcss/vite": "^4.1.11", "@tsconfig/node22": "^22.0.2", "@types/node": "^22.15.32", + "@types/three": "^0.178.0", "@vitejs/plugin-vue": "^6.0.0", "@vitejs/plugin-vue-jsx": "^5.0.0", "@vue/eslint-config-typescript": "^14.5.1", diff --git a/public/assets/iconpattern.png b/public/assets/iconpattern.png new file mode 100644 index 0000000..d86a4b4 Binary files /dev/null and b/public/assets/iconpattern.png differ diff --git a/public/assets/person.png b/public/assets/person.png new file mode 100644 index 0000000..2c0ed58 Binary files /dev/null and b/public/assets/person.png differ diff --git a/scripts/generateComponent.js b/scripts/generateComponent.js index 9611f3e..110686b 100644 --- a/scripts/generateComponent.js +++ b/scripts/generateComponent.js @@ -30,8 +30,8 @@ Object.values(paths).forEach((dir) => { const files = [ path.join(paths.content, `${componentName}.vue`), - path.join(paths.demo, `${componentName}Demo.jsx`), - path.join(paths.constants, `${componentNameLower}Code.js`), + path.join(paths.demo, `${componentName}Demo.vue`), + path.join(paths.constants, `${componentNameLower}Code.ts`), ]; files.forEach((file) => { diff --git a/src/components/common/PreviewColor.vue b/src/components/common/PreviewColor.vue new file mode 100644 index 0000000..29140be --- /dev/null +++ b/src/components/common/PreviewColor.vue @@ -0,0 +1,59 @@ + + + + + diff --git a/src/components/common/PreviewSelect.vue b/src/components/common/PreviewSelect.vue index 773c017..b172637 100644 --- a/src/components/common/PreviewSelect.vue +++ b/src/components/common/PreviewSelect.vue @@ -67,7 +67,6 @@ const selectAttributes = computed(() => { font-size: 14px; color: #fff; white-space: nowrap; - min-width: 120px; } .custom-select { diff --git a/src/composables/useStars.ts b/src/composables/useStars.ts index beb8d9d..5bd69cd 100644 --- a/src/composables/useStars.ts +++ b/src/composables/useStars.ts @@ -2,7 +2,7 @@ import { ref, onMounted } from 'vue' import { getStarsCount } from '@/utils/utils' const CACHE_KEY = 'github_stars_cache' -const CACHE_DURATION = 24 * 60 * 60 * 1000 // 24 hours +const CACHE_DURATION = 24 * 60 * 60 * 1000 export function useStars() { const stars = ref(0) diff --git a/src/constants/Categories.ts b/src/constants/Categories.ts index 777df49..385ac12 100644 --- a/src/constants/Categories.ts +++ b/src/constants/Categories.ts @@ -8,24 +8,65 @@ export const CATEGORIES = [ name: 'Text Animations', subcategories: [ 'Split Text', + 'Blur Text', + 'Circular Text', + 'Shiny Text', + 'Text Pressure', + 'Curved Loop', + 'Fuzzy Text', + 'Gradient Text', + 'Text Trail', + 'Falling Text', + 'Text Cursor', + 'Decrypted Text', ] }, { name: 'Animations', subcategories: [ + 'Animated Content', 'Fade Content', + 'Pixel Transition', + 'Glare Hover', + 'Magnet Lines', + 'Count Up', + 'Click Spark', + 'Magnet', + 'Cubes', ] }, { name: 'Components', subcategories: [ 'Masonry', + 'Profile Card', + 'Dock', + 'Gooey Nav', + 'Pixel Card', + 'Carousel', + 'Spotlight Card', + 'Flying Posters', + 'Card Swap', + 'Infinite Scroll', + 'Glass Icons', + 'Decay Card', + 'Flowing Menu', + 'Elastic Slider', ], }, { name: 'Backgrounds', subcategories: [ + 'Aurora', 'Dot Grid', + 'Silk', + 'Lightning', + 'Letter Glitch', + 'Particles', + 'Waves', + 'Squares', + 'Iridescence', + 'Threads', ], } ]; \ No newline at end of file diff --git a/src/constants/Components.ts b/src/constants/Components.ts index 1b90fe8..d173dc8 100644 --- a/src/constants/Components.ts +++ b/src/constants/Components.ts @@ -1,17 +1,58 @@ const animations = { 'fade-content': () => import("../demo/Animations/FadeContentDemo.vue"), + 'animated-content': () => import("../demo/Animations/AnimatedContentDemo.vue"), + 'pixel-transition': () => import("../demo/Animations/PixelTransitionDemo.vue"), + 'glare-hover': () => import("../demo/Animations/GlareHoverDemo.vue"), + 'magnet-lines': () => import("../demo/Animations/MagnetLinesDemo.vue"), + 'click-spark': () => import("../demo/Animations/ClickSparkDemo.vue"), + 'magnet': () => import("../demo/Animations/MagnetDemo.vue"), + 'cubes': () => import("../demo/Animations/CubesDemo.vue"), + 'count-up': () => import("../demo/Animations/CountUpDemo.vue"), }; const textAnimations = { 'split-text': () => import("../demo/TextAnimations/SplitTextDemo.vue"), + 'blur-text': () => import("../demo/TextAnimations/BlurTextDemo.vue"), + 'circular-text': () => import("../demo/TextAnimations/CircularTextDemo.vue"), + 'shiny-text': () => import("../demo/TextAnimations/ShinyTextDemo.vue"), + 'text-pressure': () => import("../demo/TextAnimations/TextPressureDemo.vue"), + 'curved-loop': () => import("../demo/TextAnimations/CurvedLoopDemo.vue"), + 'fuzzy-text': () => import("../demo/TextAnimations/FuzzyTextDemo.vue"), + 'gradient-text': () => import("../demo/TextAnimations/GradientTextDemo.vue"), + 'text-trail': () => import("../demo/TextAnimations/TextTrailDemo.vue"), + 'falling-text': () => import("../demo/TextAnimations/FallingTextDemo.vue"), + 'text-cursor': () => import("../demo/TextAnimations/TextCursorDemo.vue"), + 'decrypted-text': () => import("../demo/TextAnimations/DecryptedTextDemo.vue"), }; const components = { 'masonry': () => import("../demo/Components/MasonryDemo.vue"), + 'profile-card': () => import("../demo/Components/ProfileCardDemo.vue"), + 'dock': () => import("../demo/Components/DockDemo.vue"), + 'gooey-nav': () => import("../demo/Components/GooeyNavDemo.vue"), + 'pixel-card': () => import("../demo/Components/PixelCardDemo.vue"), + 'carousel': () => import("../demo/Components/CarouselDemo.vue"), + 'spotlight-card': () => import("../demo/Components/SpotlightCardDemo.vue"), + 'flying-posters': () => import("../demo/Components/FlyingPostersDemo.vue"), + 'card-swap': () => import("../demo/Components/CardSwapDemo.vue"), + 'infinite-scroll': () => import("../demo/Components/InfiniteScrollDemo.vue"), + 'glass-icons': () => import("../demo/Components/GlassIconsDemo.vue"), + 'decay-card': () => import("../demo/Components/DecayCardDemo.vue"), + 'flowing-menu': () => import("../demo/Components/FlowingMenuDemo.vue"), + 'elastic-slider': () => import("../demo/Components/ElasticSliderDemo.vue"), }; const backgrounds = { 'dot-grid': () => import("../demo/Backgrounds/DotGridDemo.vue"), + 'silk': () => import("../demo/Backgrounds/SilkDemo.vue"), + 'lightning': () => import("../demo/Backgrounds/LightningDemo.vue"), + 'letter-glitch': () => import("../demo/Backgrounds/LetterGlitchDemo.vue"), + 'particles': () => import("../demo/Backgrounds/ParticlesDemo.vue"), + 'waves': () => import("../demo/Backgrounds/WavesDemo.vue"), + 'squares': () => import("../demo/Backgrounds/SquaresDemo.vue"), + 'iridescence': () => import("../demo/Backgrounds/IridescenceDemo.vue"), + 'threads': () => import("../demo/Backgrounds/ThreadsDemo.vue"), + 'aurora': () => import("../demo/Backgrounds/AuroraDemo.vue"), }; export const componentMap = { diff --git a/src/constants/code/Animations/animatedContentCode.ts b/src/constants/code/Animations/animatedContentCode.ts new file mode 100644 index 0000000..11b8113 --- /dev/null +++ b/src/constants/code/Animations/animatedContentCode.ts @@ -0,0 +1,35 @@ +import code from '@/content/Animations/AnimatedContent/AnimatedContent.vue?raw' +import type { CodeObject } from '@/types/code' + +export const animatedContent: CodeObject = { + cli: `npx jsrepo add https://vue-bits.dev/ui/Animations/AnimatedContent`, + installation: `npm install gsap`, + usage: ` + +`, + code +} \ No newline at end of file diff --git a/src/constants/code/Animations/clickSparkCode.ts b/src/constants/code/Animations/clickSparkCode.ts new file mode 100644 index 0000000..6616a38 --- /dev/null +++ b/src/constants/code/Animations/clickSparkCode.ts @@ -0,0 +1,47 @@ +import code from '@content/Animations/ClickSpark/ClickSpark.vue?raw' +import type { CodeObject } from '../../../types/code' + +export const clickSpark: CodeObject = { + cli: `npx jsrepo add https://vue-bits.dev/ui/Animations/ClickSpark`, + usage: ` + + + +`, + code +} diff --git a/src/constants/code/Animations/countUpCode.ts b/src/constants/code/Animations/countUpCode.ts new file mode 100644 index 0000000..4253352 --- /dev/null +++ b/src/constants/code/Animations/countUpCode.ts @@ -0,0 +1,33 @@ +import code from '@/content/Animations/CountUp/CountUp.vue?raw' +import type { CodeObject } from '@/types/code' + +export const countup: CodeObject = { + cli: `npx jsrepo add https://vue-bits.dev/ui/Animations/CountUp`, + usage: ` + +`, + code +} diff --git a/src/constants/code/Animations/cubesCode.ts b/src/constants/code/Animations/cubesCode.ts new file mode 100644 index 0000000..00e7cb1 --- /dev/null +++ b/src/constants/code/Animations/cubesCode.ts @@ -0,0 +1,32 @@ +import code from '@content/Animations/Cubes/Cubes.vue?raw' +import type { CodeObject } from '../../../types/code' + +export const cubes: CodeObject = { + cli: `npx jsrepo add https://vue-bits.dev/ui/Animations/Cubes`, + installation: `npm install gsap`, + usage: `// CREDIT +// Component inspired from Can Tastemel's original work for the lambda.ai landing page +// https://cantastemel.com + + + +`, + code +} diff --git a/src/constants/code/Animations/glareHoverCode.ts b/src/constants/code/Animations/glareHoverCode.ts new file mode 100644 index 0000000..ee72600 --- /dev/null +++ b/src/constants/code/Animations/glareHoverCode.ts @@ -0,0 +1,29 @@ +import code from '@/content/Animations/GlareHover/GlareHover.vue?raw' +import type { CodeObject } from '@/types/code' + +export const glareHover: CodeObject = { + cli: `npx jsrepo add https://vue-bits.dev/ui/Animations/GlareHover`, + usage: ` + +`, + code +} diff --git a/src/constants/code/Animations/magnetCode.ts b/src/constants/code/Animations/magnetCode.ts new file mode 100644 index 0000000..ae0d169 --- /dev/null +++ b/src/constants/code/Animations/magnetCode.ts @@ -0,0 +1,48 @@ +import code from '@content/Animations/Magnet/Magnet.vue?raw' +import type { CodeObject } from '../../../types/code' + +export const magnet: CodeObject = { + cli: `npx jsrepo add https://vue-bits.dev/ui/Animations/Magnet`, + usage: ` + + + +`, + code +} diff --git a/src/constants/code/Animations/magnetLinesCode.ts b/src/constants/code/Animations/magnetLinesCode.ts new file mode 100644 index 0000000..a469c87 --- /dev/null +++ b/src/constants/code/Animations/magnetLinesCode.ts @@ -0,0 +1,22 @@ +import code from '@/content/Animations/MagnetLines/MagnetLines.vue?raw' +import type { CodeObject } from '@/types/code' + +export const magnetLines: CodeObject = { + cli: `npx jsrepo add https://vue-bits.dev/ui/Animations/MagnetLines`, + usage: ` + +`, + code +} diff --git a/src/constants/code/Animations/pixelTransitionCode.ts b/src/constants/code/Animations/pixelTransitionCode.ts new file mode 100644 index 0000000..e58acd3 --- /dev/null +++ b/src/constants/code/Animations/pixelTransitionCode.ts @@ -0,0 +1,29 @@ +import code from '@/content/Animations/PixelTransition/PixelTransition.vue?raw' +import type { CodeObject } from '@/types/code' + +export const pixelTransition: CodeObject = { + cli: `npx jsrepo add https://vue-bits.dev/ui/Animations/PixelTransition`, + installation: `npm install gsap`, + usage: ` + +`, + code +} diff --git a/src/constants/code/Backgrounds/auroraCode.ts b/src/constants/code/Backgrounds/auroraCode.ts new file mode 100644 index 0000000..f8d9f04 --- /dev/null +++ b/src/constants/code/Backgrounds/auroraCode.ts @@ -0,0 +1,33 @@ +import code from '@content/Backgrounds/Aurora/Aurora.vue?raw' +import type { CodeObject } from '../../../types/code' + +export const aurora: CodeObject = { + cli: `npx jsrepo add https://vue-bits.dev/ui/Backgrounds/Aurora`, + installation: `npm install ogl`, + usage: ` + + + +`, + code +} \ No newline at end of file diff --git a/src/constants/code/Backgrounds/iridescenceCode.ts b/src/constants/code/Backgrounds/iridescenceCode.ts new file mode 100644 index 0000000..547da77 --- /dev/null +++ b/src/constants/code/Backgrounds/iridescenceCode.ts @@ -0,0 +1,22 @@ +import code from '@content/Backgrounds/Iridescence/Iridescence.vue?raw' +import type { CodeObject } from '../../../types/code' + +export const iridescence: CodeObject = { + cli: `npx jsrepo add https://vue-bits.dev/ui/Backgrounds/Iridescence`, + installation: `npm install ogl`, + usage: ` + +`, + code +} \ No newline at end of file diff --git a/src/constants/code/Backgrounds/letterGlitchCode.ts b/src/constants/code/Backgrounds/letterGlitchCode.ts new file mode 100644 index 0000000..50d09c4 --- /dev/null +++ b/src/constants/code/Backgrounds/letterGlitchCode.ts @@ -0,0 +1,32 @@ +import code from '@content/Backgrounds/LetterGlitch/LetterGlitch.vue?raw' +import type { CodeObject } from '../../../types/code' + +export const letterGlitch: CodeObject = { + cli: `npx jsrepo add https://vue-bits.dev/ui/Backgrounds/LetterGlitch`, + usage: ` + + + +`, + code +} diff --git a/src/constants/code/Backgrounds/lightningCode.ts b/src/constants/code/Backgrounds/lightningCode.ts new file mode 100644 index 0000000..b444c69 --- /dev/null +++ b/src/constants/code/Backgrounds/lightningCode.ts @@ -0,0 +1,33 @@ +import code from '@content/Backgrounds/Lightning/Lightning.vue?raw' +import type { CodeObject } from '../../../types/code' + +export const lightning: CodeObject = { + cli: `npx jsrepo add https://vue-bits.dev/ui/Backgrounds/Lightning`, + installation: `No additional dependencies required`, + usage: ` + + + +`, + code +} diff --git a/src/constants/code/Backgrounds/particlesCode.ts b/src/constants/code/Backgrounds/particlesCode.ts new file mode 100644 index 0000000..adbd599 --- /dev/null +++ b/src/constants/code/Backgrounds/particlesCode.ts @@ -0,0 +1,39 @@ +import code from '@content/Backgrounds/Particles/Particles.vue?raw' +import type { CodeObject } from '../../../types/code' + +export const particles: CodeObject = { + cli: `npx jsrepo add https://vue-bits.dev/ui/Backgrounds/Particles`, + installation: `npm install ogl`, + usage: ` + + + +`, + code +} diff --git a/src/constants/code/Backgrounds/silkCode.ts b/src/constants/code/Backgrounds/silkCode.ts new file mode 100644 index 0000000..3946b91 --- /dev/null +++ b/src/constants/code/Backgrounds/silkCode.ts @@ -0,0 +1,33 @@ +import code from '@content/Backgrounds/Silk/Silk.vue?raw' +import type { CodeObject } from '../../../types/code' + +export const silk: CodeObject = { + cli: `npx jsrepo add https://vue-bits.dev/ui/Backgrounds/Silk`, + installation: `npm install ogl`, + usage: ` + + + +`, + code +} diff --git a/src/constants/code/Backgrounds/squaresCode.ts b/src/constants/code/Backgrounds/squaresCode.ts new file mode 100644 index 0000000..6e4daae --- /dev/null +++ b/src/constants/code/Backgrounds/squaresCode.ts @@ -0,0 +1,22 @@ +import code from '@content/Backgrounds/Squares/Squares.vue?raw' +import type { CodeObject } from '../../../types/code' + +export const squares: CodeObject = { + cli: `npx jsrepo add https://vue-bits.dev/ui/Backgrounds/Squares`, + usage: ` + +`, + code +} \ No newline at end of file diff --git a/src/constants/code/Backgrounds/threadsCode.ts b/src/constants/code/Backgrounds/threadsCode.ts new file mode 100644 index 0000000..86dfe06 --- /dev/null +++ b/src/constants/code/Backgrounds/threadsCode.ts @@ -0,0 +1,22 @@ +import code from '@content/Backgrounds/Threads/Threads.vue?raw' +import type { CodeObject } from '../../../types/code' + +export const threads: CodeObject = { + cli: `npx jsrepo add https://vue-bits.dev/ui/Backgrounds/Threads`, + installation: `npm install ogl`, + usage: ` + +`, + code +} \ No newline at end of file diff --git a/src/constants/code/Backgrounds/wavesCode.ts b/src/constants/code/Backgrounds/wavesCode.ts new file mode 100644 index 0000000..c576678 --- /dev/null +++ b/src/constants/code/Backgrounds/wavesCode.ts @@ -0,0 +1,38 @@ +import code from '@content/Backgrounds/Waves/Waves.vue?raw' +import type { CodeObject } from '../../../types/code' + +export const waves: CodeObject = { + cli: `npx jsrepo add https://vue-bits.dev/ui/Backgrounds/Waves`, + usage: ` + + + +`, + code +} diff --git a/src/constants/code/Components/cardSwapCode.ts b/src/constants/code/Components/cardSwapCode.ts new file mode 100644 index 0000000..a012bd3 --- /dev/null +++ b/src/constants/code/Components/cardSwapCode.ts @@ -0,0 +1,54 @@ +import code from '@content/Components/CardSwap/CardSwap.vue?raw' +import type { CodeObject } from '../../../types/code' + +export const cardSwap: CodeObject = { + cli: `npx jsrepo add https://vue-bits.dev/ui/Components/CardSwap`, + installation: `npm install gsap`, + usage: ` + +`, + code +} diff --git a/src/constants/code/Components/carouselCode.ts b/src/constants/code/Components/carouselCode.ts new file mode 100644 index 0000000..907c1bd --- /dev/null +++ b/src/constants/code/Components/carouselCode.ts @@ -0,0 +1,40 @@ +import code from '@content/Components/Carousel/Carousel.vue?raw' +import type { CodeObject } from '../../../types/code' + +export const carousel: CodeObject = { + cli: `npx jsrepo add https://vue-bits.dev/ui/Components/Carousel`, + installation: `npm install motion-v`, + usage: ` + +`, + code +} diff --git a/src/constants/code/Components/decayCardCode.ts b/src/constants/code/Components/decayCardCode.ts new file mode 100644 index 0000000..674157f --- /dev/null +++ b/src/constants/code/Components/decayCardCode.ts @@ -0,0 +1,23 @@ +import code from '@content/Components/DecayCard/DecayCard.vue?raw' +import type { CodeObject } from '../../../types/code' + +export const decayCard: CodeObject = { + cli: `npx jsrepo add https://vue-bits.dev/ui/Components/DecayCard`, + installation: `npm install gsap`, + usage: ` + +`, + code +} diff --git a/src/constants/code/Components/dockCode.ts b/src/constants/code/Components/dockCode.ts new file mode 100644 index 0000000..7651bc2 --- /dev/null +++ b/src/constants/code/Components/dockCode.ts @@ -0,0 +1,47 @@ +import code from '@content/Components/Dock/Dock.vue?raw' +import type { CodeObject } from '../../../types/code' + +export const dock: CodeObject = { + cli: `npx jsrepo add https://vue-bits.dev/ui/Components/Dock`, + installation: `npm install motion-v`, + usage: ` + +`, + code +} \ No newline at end of file diff --git a/src/constants/code/Components/elasticSliderCode.ts b/src/constants/code/Components/elasticSliderCode.ts new file mode 100644 index 0000000..6f94a99 --- /dev/null +++ b/src/constants/code/Components/elasticSliderCode.ts @@ -0,0 +1,30 @@ +import code from '@content/Components/ElasticSlider/ElasticSlider.vue?raw' +import type { CodeObject } from '../../../types/code' + +export const elasticSlider: CodeObject = { + cli: `npx jsrepo add https://vue-bits.dev/ui/Components/ElasticSlider`, + usage: ` + +`, + code +} diff --git a/src/constants/code/Components/flowingMenuCode.ts b/src/constants/code/Components/flowingMenuCode.ts new file mode 100644 index 0000000..0a3f4d7 --- /dev/null +++ b/src/constants/code/Components/flowingMenuCode.ts @@ -0,0 +1,22 @@ +import code from '@content/Components/FlowingMenu/FlowingMenu.vue?raw' +import type { CodeObject } from '../../../types/code' + +export const flowingMenu: CodeObject = { + cli: `npx jsrepo add https://vue-bits.dev/ui/Components/FlowingMenu`, + installation: `npm install gsap`, + usage: ` + +`, + code +} diff --git a/src/constants/code/Components/flyingPostersCode.ts b/src/constants/code/Components/flyingPostersCode.ts new file mode 100644 index 0000000..0399a7c --- /dev/null +++ b/src/constants/code/Components/flyingPostersCode.ts @@ -0,0 +1,37 @@ +import code from '@content/Components/FlyingPosters/FlyingPosters.vue?raw' +import type { CodeObject } from '../../../types/code' + +export const flyingPosters: CodeObject = { + cli: `npx jsrepo add https://vue-bits.dev/ui/Components/FlyingPosters`, + installation: `npm install ogl`, + usage: ` + +`, + code +} diff --git a/src/constants/code/Components/glassIconsCode.ts b/src/constants/code/Components/glassIconsCode.ts new file mode 100644 index 0000000..8a3b0fc --- /dev/null +++ b/src/constants/code/Components/glassIconsCode.ts @@ -0,0 +1,23 @@ +import code from '@content/Components/GlassIcons/GlassIcons.vue?raw' +import type { CodeObject } from '../../../types/code' + +export const glassIcons: CodeObject = { + cli: `npx jsrepo add https://vue-bits.dev/ui/Components/GlassIcons`, + usage: ` + +`, + code +} diff --git a/src/constants/code/Components/gooeyNavCode.ts b/src/constants/code/Components/gooeyNavCode.ts new file mode 100644 index 0000000..34e7cee --- /dev/null +++ b/src/constants/code/Components/gooeyNavCode.ts @@ -0,0 +1,40 @@ +import code from '@content/Components/GooeyNav/GooeyNav.vue?raw' +import type { CodeObject } from '../../../types/code' + +export const gooeyNav: CodeObject = { + cli: `npx jsrepo add https://vue-bits.dev/ui/Components/GooeyNav`, + usage: ` + + + +`, + code +} diff --git a/src/constants/code/Components/infiniteScrollCode.ts b/src/constants/code/Components/infiniteScrollCode.ts new file mode 100644 index 0000000..530700c --- /dev/null +++ b/src/constants/code/Components/infiniteScrollCode.ts @@ -0,0 +1,34 @@ +import code from '@content/Components/InfiniteScroll/InfiniteScroll.vue?raw' +import type { CodeObject } from '../../../types/code' + +export const infiniteScroll: CodeObject = { + cli: `npx jsrepo add https://vue-bits.dev/ui/Components/InfiniteScroll`, + installation: `npm install gsap`, + usage: ` + +`, + code +} diff --git a/src/constants/code/Components/pixelCardCode.ts b/src/constants/code/Components/pixelCardCode.ts new file mode 100644 index 0000000..636d44d --- /dev/null +++ b/src/constants/code/Components/pixelCardCode.ts @@ -0,0 +1,21 @@ +import code from '@content/Components/PixelCard/PixelCard.vue?raw' +import type { CodeObject } from '../../../types/code' + +export const pixelCard: CodeObject = { + cli: `npx jsrepo add https://vue-bits.dev/ui/Components/PixelCard`, + usage: ` + +`, + code +} diff --git a/src/constants/code/Components/profileCardCode.ts b/src/constants/code/Components/profileCardCode.ts new file mode 100644 index 0000000..d0e1de8 --- /dev/null +++ b/src/constants/code/Components/profileCardCode.ts @@ -0,0 +1,31 @@ +import code from '@content/Components/ProfileCard/ProfileCard.vue?raw' +import type { CodeObject } from '../../../types/code' + +export const profileCard: CodeObject = { + cli: `npx jsrepo add https://vue-bits.dev/ui/Components/ProfileCard`, + usage: ` + +`, + code +} \ No newline at end of file diff --git a/src/constants/code/Components/spotlightCardCode.ts b/src/constants/code/Components/spotlightCardCode.ts new file mode 100644 index 0000000..1bf7e08 --- /dev/null +++ b/src/constants/code/Components/spotlightCardCode.ts @@ -0,0 +1,19 @@ +import code from '@content/Components/SpotlightCard/SpotlightCard.vue?raw' +import type { CodeObject } from '../../../types/code' + +export const spotlightCard: CodeObject = { + cli: `npx jsrepo add https://vue-bits.dev/ui/Components/SpotlightCard`, + usage: ` + +`, + code +} diff --git a/src/constants/code/TextAnimations/blurTextCode.ts b/src/constants/code/TextAnimations/blurTextCode.ts new file mode 100644 index 0000000..5e99363 --- /dev/null +++ b/src/constants/code/TextAnimations/blurTextCode.ts @@ -0,0 +1,29 @@ +import code from '@content/TextAnimations/BlurText/BlurText.vue?raw' +import type { CodeObject } from '../../../types/code' + +export const blurText: CodeObject = { + cli: `npx jsrepo add https://vue-bits.dev/ui/TextAnimations/BlurText`, + installation: `npm install motion-v`, + usage: ` + +`, + code +} diff --git a/src/constants/code/TextAnimations/circularTextCode.ts b/src/constants/code/TextAnimations/circularTextCode.ts new file mode 100644 index 0000000..a12d88e --- /dev/null +++ b/src/constants/code/TextAnimations/circularTextCode.ts @@ -0,0 +1,20 @@ +import code from '@content/TextAnimations/CircularText/CircularText.vue?raw' +import type { CodeObject } from '../../../types/code' + +export const circularText: CodeObject = { + cli: `npx jsrepo add https://vue-bits.dev/ui/TextAnimations/CircularText`, + installation: `npm install motion-v`, + usage: ` + +`, + code +} diff --git a/src/constants/code/TextAnimations/curvedLoopCode.ts b/src/constants/code/TextAnimations/curvedLoopCode.ts new file mode 100644 index 0000000..19c4abd --- /dev/null +++ b/src/constants/code/TextAnimations/curvedLoopCode.ts @@ -0,0 +1,20 @@ +import code from '@content/TextAnimations/CurvedLoop/CurvedLoop.vue?raw' +import type { CodeObject } from '../../../types/code' + +export const curvedLoop: CodeObject = { + cli: `npx jsrepo add https://vue-bits.dev/ui/TextAnimations/CurvedLoop`, + usage: ` + +`, + code +} diff --git a/src/constants/code/TextAnimations/decryptedTextCode.ts b/src/constants/code/TextAnimations/decryptedTextCode.ts new file mode 100644 index 0000000..5a363a0 --- /dev/null +++ b/src/constants/code/TextAnimations/decryptedTextCode.ts @@ -0,0 +1,24 @@ +import code from '@/content/TextAnimations/DecryptedText/DecryptedText.vue?raw' +import type { CodeObject } from '@/types/code' + +export const decryptedText: CodeObject = { + cli: `npx jsrepo add https://vue-bits.dev/ui/TextAnimations/DecryptedText`, + usage: ` + +`, + code +} diff --git a/src/constants/code/TextAnimations/fallingTextCode.ts b/src/constants/code/TextAnimations/fallingTextCode.ts new file mode 100644 index 0000000..390ea19 --- /dev/null +++ b/src/constants/code/TextAnimations/fallingTextCode.ts @@ -0,0 +1,22 @@ +import code from '@/content/TextAnimations/FallingText/FallingText.vue?raw' +import type { CodeObject } from '@/types/code' + +export const fallingText: CodeObject = { + cli: `npx jsrepo add https://vue-bits.dev/ui/TextAnimations/FallingText`, + installation: `npm install matter-js @types/matter-js`, + usage: ` + +`, + code +} diff --git a/src/constants/code/TextAnimations/fuzzyTextCode.ts b/src/constants/code/TextAnimations/fuzzyTextCode.ts new file mode 100644 index 0000000..f329b01 --- /dev/null +++ b/src/constants/code/TextAnimations/fuzzyTextCode.ts @@ -0,0 +1,22 @@ +import code from '@content/TextAnimations/FuzzyText/FuzzyText.vue?raw' +import type { CodeObject } from '../../../types/code' + +export const fuzzyText: CodeObject = { + cli: `npx jsrepo add https://vue-bits.dev/ui/TextAnimations/FuzzyText`, + usage: ` + +`, + code +} diff --git a/src/constants/code/TextAnimations/gradientTextCode.ts b/src/constants/code/TextAnimations/gradientTextCode.ts new file mode 100644 index 0000000..44a2e70 --- /dev/null +++ b/src/constants/code/TextAnimations/gradientTextCode.ts @@ -0,0 +1,20 @@ +import code from '@content/TextAnimations/GradientText/GradientText.vue?raw' +import type { CodeObject } from '../../../types/code' + +export const gradientText: CodeObject = { + cli: `npx jsrepo add https://vue-bits.dev/ui/TextAnimations/GradientText`, + usage: ` + +`, + code +} diff --git a/src/constants/code/TextAnimations/shinyTextCode.ts b/src/constants/code/TextAnimations/shinyTextCode.ts new file mode 100644 index 0000000..7cf718b --- /dev/null +++ b/src/constants/code/TextAnimations/shinyTextCode.ts @@ -0,0 +1,19 @@ +import code from '@content/TextAnimations/ShinyText/ShinyText.vue?raw' +import type { CodeObject } from '../../../types/code' + +export const shinyText: CodeObject = { + cli: `npx jsrepo add https://vue-bits.dev/ui/TextAnimations/ShinyText`, + usage: ` + +`, + code +} diff --git a/src/constants/code/TextAnimations/textCursorCode.ts b/src/constants/code/TextAnimations/textCursorCode.ts new file mode 100644 index 0000000..358fa70 --- /dev/null +++ b/src/constants/code/TextAnimations/textCursorCode.ts @@ -0,0 +1,24 @@ +import code from '@/content/TextAnimations/TextCursor/TextCursor.vue?raw' +import type { CodeObject } from '@/types/code' + +export const textCursor: CodeObject = { + cli: `npx jsrepo add https://vue-bits.dev/ui/TextAnimations/TextCursor`, + installation: `npm install motion-v`, + usage: ` + +`, + code +} diff --git a/src/constants/code/TextAnimations/textPressureCode.ts b/src/constants/code/TextAnimations/textPressureCode.ts new file mode 100644 index 0000000..292ea4d --- /dev/null +++ b/src/constants/code/TextAnimations/textPressureCode.ts @@ -0,0 +1,25 @@ +import code from '@content/TextAnimations/TextPressure/TextPressure.vue?raw' +import type { CodeObject } from '../../../types/code' + +export const textPressure: CodeObject = { + cli: `npx jsrepo add https://vue-bits.dev/ui/TextAnimations/TextPressure`, + usage: ` + +`, + code +} diff --git a/src/constants/code/TextAnimations/textTrailCode.ts b/src/constants/code/TextAnimations/textTrailCode.ts new file mode 100644 index 0000000..9f1dc23 --- /dev/null +++ b/src/constants/code/TextAnimations/textTrailCode.ts @@ -0,0 +1,23 @@ +import code from '@/content/TextAnimations/TextTrail/TextTrail.vue?raw' +import type { CodeObject } from '@/types/code' + +export const textTrail: CodeObject = { + cli: `npx jsrepo add https://vue-bits.dev/ui/TextAnimations/TextTrail`, + installation: `npm install three @types/three`, + usage: ` + +`, + code +} diff --git a/src/content/Animations/AnimatedContent/AnimatedContent.vue b/src/content/Animations/AnimatedContent/AnimatedContent.vue new file mode 100644 index 0000000..d65f1ac --- /dev/null +++ b/src/content/Animations/AnimatedContent/AnimatedContent.vue @@ -0,0 +1,142 @@ + + + + + diff --git a/src/content/Animations/ClickSpark/ClickSpark.vue b/src/content/Animations/ClickSpark/ClickSpark.vue new file mode 100644 index 0000000..962ed0a --- /dev/null +++ b/src/content/Animations/ClickSpark/ClickSpark.vue @@ -0,0 +1,188 @@ + + + diff --git a/src/content/Animations/Cubes/Cubes.vue b/src/content/Animations/Cubes/Cubes.vue new file mode 100644 index 0000000..6df1951 --- /dev/null +++ b/src/content/Animations/Cubes/Cubes.vue @@ -0,0 +1,321 @@ + + + diff --git a/src/content/Animations/GlareHover/GlareHover.vue b/src/content/Animations/GlareHover/GlareHover.vue new file mode 100644 index 0000000..f4c242e --- /dev/null +++ b/src/content/Animations/GlareHover/GlareHover.vue @@ -0,0 +1,112 @@ + + + diff --git a/src/content/Animations/Magnet/Magnet.vue b/src/content/Animations/Magnet/Magnet.vue new file mode 100644 index 0000000..989354f --- /dev/null +++ b/src/content/Animations/Magnet/Magnet.vue @@ -0,0 +1,84 @@ + + + diff --git a/src/content/Animations/MagnetLines/MagnetLines.vue b/src/content/Animations/MagnetLines/MagnetLines.vue new file mode 100644 index 0000000..1889cd2 --- /dev/null +++ b/src/content/Animations/MagnetLines/MagnetLines.vue @@ -0,0 +1,101 @@ + + + diff --git a/src/content/Animations/PixelTransition/PixelTransition.vue b/src/content/Animations/PixelTransition/PixelTransition.vue new file mode 100644 index 0000000..eeff7ed --- /dev/null +++ b/src/content/Animations/PixelTransition/PixelTransition.vue @@ -0,0 +1,137 @@ + + + + + diff --git a/src/content/Backgrounds/Aurora/Aurora.vue b/src/content/Backgrounds/Aurora/Aurora.vue new file mode 100644 index 0000000..8267623 --- /dev/null +++ b/src/content/Backgrounds/Aurora/Aurora.vue @@ -0,0 +1,266 @@ + + + \ No newline at end of file diff --git a/src/content/Backgrounds/Iridescence/Iridescence.vue b/src/content/Backgrounds/Iridescence/Iridescence.vue new file mode 100644 index 0000000..5348e82 --- /dev/null +++ b/src/content/Backgrounds/Iridescence/Iridescence.vue @@ -0,0 +1,204 @@ + + + \ No newline at end of file diff --git a/src/content/Backgrounds/Lightning/Lightning.vue b/src/content/Backgrounds/Lightning/Lightning.vue new file mode 100644 index 0000000..efbecf4 --- /dev/null +++ b/src/content/Backgrounds/Lightning/Lightning.vue @@ -0,0 +1,236 @@ + + + diff --git a/src/content/Backgrounds/Particles/Particles.vue b/src/content/Backgrounds/Particles/Particles.vue new file mode 100644 index 0000000..991a1a9 --- /dev/null +++ b/src/content/Backgrounds/Particles/Particles.vue @@ -0,0 +1,314 @@ + + + diff --git a/src/content/Backgrounds/Silk/Silk.vue b/src/content/Backgrounds/Silk/Silk.vue new file mode 100644 index 0000000..93a9d26 --- /dev/null +++ b/src/content/Backgrounds/Silk/Silk.vue @@ -0,0 +1,232 @@ + + + diff --git a/src/content/Backgrounds/Threads/Threads.vue b/src/content/Backgrounds/Threads/Threads.vue new file mode 100644 index 0000000..6450ddf --- /dev/null +++ b/src/content/Backgrounds/Threads/Threads.vue @@ -0,0 +1,290 @@ + + + \ No newline at end of file diff --git a/src/content/Backgrounds/Waves/Waves.vue b/src/content/Backgrounds/Waves/Waves.vue new file mode 100644 index 0000000..1e31cff --- /dev/null +++ b/src/content/Backgrounds/Waves/Waves.vue @@ -0,0 +1,443 @@ + + + diff --git a/src/content/Components/CardSwap/CardSwap.vue b/src/content/Components/CardSwap/CardSwap.vue new file mode 100644 index 0000000..97923db --- /dev/null +++ b/src/content/Components/CardSwap/CardSwap.vue @@ -0,0 +1,290 @@ + + + + + diff --git a/src/content/Components/Carousel/Carousel.vue b/src/content/Components/Carousel/Carousel.vue new file mode 100644 index 0000000..dbb9697 --- /dev/null +++ b/src/content/Components/Carousel/Carousel.vue @@ -0,0 +1,277 @@ + + + + + \ No newline at end of file diff --git a/src/content/Components/DecayCard/DecayCard.vue b/src/content/Components/DecayCard/DecayCard.vue new file mode 100644 index 0000000..a695d7f --- /dev/null +++ b/src/content/Components/DecayCard/DecayCard.vue @@ -0,0 +1,161 @@ + + + diff --git a/src/content/Components/Dock/Dock.vue b/src/content/Components/Dock/Dock.vue new file mode 100644 index 0000000..ca03545 --- /dev/null +++ b/src/content/Components/Dock/Dock.vue @@ -0,0 +1,261 @@ + + + + + \ No newline at end of file diff --git a/src/content/Components/ElasticSlider/ElasticSlider.vue b/src/content/Components/ElasticSlider/ElasticSlider.vue new file mode 100644 index 0000000..9ba39b6 --- /dev/null +++ b/src/content/Components/ElasticSlider/ElasticSlider.vue @@ -0,0 +1,328 @@ + + + diff --git a/src/content/Components/FlowingMenu/FlowingMenu.vue b/src/content/Components/FlowingMenu/FlowingMenu.vue new file mode 100644 index 0000000..a168523 --- /dev/null +++ b/src/content/Components/FlowingMenu/FlowingMenu.vue @@ -0,0 +1,131 @@ + + + + + diff --git a/src/content/Components/FlyingPosters/FlyingPosters.vue b/src/content/Components/FlyingPosters/FlyingPosters.vue new file mode 100644 index 0000000..1f528e6 --- /dev/null +++ b/src/content/Components/FlyingPosters/FlyingPosters.vue @@ -0,0 +1,686 @@ + + + + + \ No newline at end of file diff --git a/src/content/Components/GlassIcons/GlassIcons.vue b/src/content/Components/GlassIcons/GlassIcons.vue new file mode 100644 index 0000000..b5f38ee --- /dev/null +++ b/src/content/Components/GlassIcons/GlassIcons.vue @@ -0,0 +1,80 @@ + + + diff --git a/src/content/Components/GooeyNav/GooeyNav.vue b/src/content/Components/GooeyNav/GooeyNav.vue new file mode 100644 index 0000000..60983f3 --- /dev/null +++ b/src/content/Components/GooeyNav/GooeyNav.vue @@ -0,0 +1,381 @@ + + + + + \ No newline at end of file diff --git a/src/content/Components/InfiniteScroll/InfiniteScroll.vue b/src/content/Components/InfiniteScroll/InfiniteScroll.vue new file mode 100644 index 0000000..cdb8844 --- /dev/null +++ b/src/content/Components/InfiniteScroll/InfiniteScroll.vue @@ -0,0 +1,265 @@ + + + + + diff --git a/src/content/Components/PixelCard/PixelCard.vue b/src/content/Components/PixelCard/PixelCard.vue new file mode 100644 index 0000000..d960c1b --- /dev/null +++ b/src/content/Components/PixelCard/PixelCard.vue @@ -0,0 +1,315 @@ + + + \ No newline at end of file diff --git a/src/content/Components/ProfileCard/ProfileCard.vue b/src/content/Components/ProfileCard/ProfileCard.vue new file mode 100644 index 0000000..926edea --- /dev/null +++ b/src/content/Components/ProfileCard/ProfileCard.vue @@ -0,0 +1,786 @@ + + + + + \ No newline at end of file diff --git a/src/content/Components/SpotlightCard/SpotlightCard.vue b/src/content/Components/SpotlightCard/SpotlightCard.vue new file mode 100644 index 0000000..f2eacb3 --- /dev/null +++ b/src/content/Components/SpotlightCard/SpotlightCard.vue @@ -0,0 +1,59 @@ + + + \ No newline at end of file diff --git a/src/content/TextAnimations/BlurText/BlurText.vue b/src/content/TextAnimations/BlurText/BlurText.vue new file mode 100644 index 0000000..04cebd7 --- /dev/null +++ b/src/content/TextAnimations/BlurText/BlurText.vue @@ -0,0 +1,141 @@ + + + diff --git a/src/content/TextAnimations/CircularText/CircularText.vue b/src/content/TextAnimations/CircularText/CircularText.vue new file mode 100644 index 0000000..ebe59ea --- /dev/null +++ b/src/content/TextAnimations/CircularText/CircularText.vue @@ -0,0 +1,129 @@ + + + \ No newline at end of file diff --git a/src/content/TextAnimations/CurvedLoop/CurvedLoop.vue b/src/content/TextAnimations/CurvedLoop/CurvedLoop.vue new file mode 100644 index 0000000..d46011a --- /dev/null +++ b/src/content/TextAnimations/CurvedLoop/CurvedLoop.vue @@ -0,0 +1,193 @@ + + + diff --git a/src/content/TextAnimations/DecryptedText/DecryptedText.vue b/src/content/TextAnimations/DecryptedText/DecryptedText.vue new file mode 100644 index 0000000..1f291bc --- /dev/null +++ b/src/content/TextAnimations/DecryptedText/DecryptedText.vue @@ -0,0 +1,229 @@ + + + diff --git a/src/content/TextAnimations/FallingText/FallingText.vue b/src/content/TextAnimations/FallingText/FallingText.vue new file mode 100644 index 0000000..24ffedf --- /dev/null +++ b/src/content/TextAnimations/FallingText/FallingText.vue @@ -0,0 +1,286 @@ + + + diff --git a/src/content/TextAnimations/FuzzyText/FuzzyText.vue b/src/content/TextAnimations/FuzzyText/FuzzyText.vue new file mode 100644 index 0000000..dde3504 --- /dev/null +++ b/src/content/TextAnimations/FuzzyText/FuzzyText.vue @@ -0,0 +1,294 @@ + + + diff --git a/src/content/TextAnimations/GradientText/GradientText.vue b/src/content/TextAnimations/GradientText/GradientText.vue new file mode 100644 index 0000000..bb4cc61 --- /dev/null +++ b/src/content/TextAnimations/GradientText/GradientText.vue @@ -0,0 +1,84 @@ + + + + + diff --git a/src/content/TextAnimations/ShinyText/ShinyText.vue b/src/content/TextAnimations/ShinyText/ShinyText.vue new file mode 100644 index 0000000..0ac71bd --- /dev/null +++ b/src/content/TextAnimations/ShinyText/ShinyText.vue @@ -0,0 +1,48 @@ + + + + + diff --git a/src/content/TextAnimations/TextCursor/TextCursor.vue b/src/content/TextAnimations/TextCursor/TextCursor.vue new file mode 100644 index 0000000..6872545 --- /dev/null +++ b/src/content/TextAnimations/TextCursor/TextCursor.vue @@ -0,0 +1,181 @@ + + + + + diff --git a/src/content/TextAnimations/TextPressure/TextPressure.vue b/src/content/TextAnimations/TextPressure/TextPressure.vue new file mode 100644 index 0000000..fcd124e --- /dev/null +++ b/src/content/TextAnimations/TextPressure/TextPressure.vue @@ -0,0 +1,232 @@ + + + diff --git a/src/content/TextAnimations/TextTrail/TextTrail.vue b/src/content/TextAnimations/TextTrail/TextTrail.vue new file mode 100644 index 0000000..ad641c2 --- /dev/null +++ b/src/content/TextAnimations/TextTrail/TextTrail.vue @@ -0,0 +1,451 @@ + + + diff --git a/src/css/category.css b/src/css/category.css index 2f1d9d3..ccf6f31 100644 --- a/src/css/category.css +++ b/src/css/category.css @@ -99,6 +99,13 @@ justify-content: center; } +.demo-title-extra { + font-size: 1.125rem; + font-weight: 900; + margin: 2rem 0 0 0; + color: #e5e7eb; +} + div:has(> .props-table) { border: 1px solid #142216; border-radius: 20px; @@ -419,7 +426,6 @@ div:has(> .props-table) { .custom-spotlight-card { user-select: none; - background-color: #333333 !important; border: 1px solid #142216 !important; width: 350px; height: 300px; diff --git a/src/css/sidebar.css b/src/css/sidebar.css index 93200ed..3107d3e 100644 --- a/src/css/sidebar.css +++ b/src/css/sidebar.css @@ -83,6 +83,7 @@ .sidebar-item:hover { color: #fff; + cursor: pointer; } .active-sidebar-item { @@ -123,7 +124,7 @@ .sidebar-item .new-tag { color: #fff; - border: 1px solid #5227ff; + border: 1px solid #27FF64; background-color: rgba(82, 39, 255, 0.3); } @@ -620,7 +621,7 @@ .drawer-navigation .sidebar-item .new-tag { color: #fff; - border: 1px solid #5227ff; + border: 1px solid #27FF64; background-color: rgba(82, 39, 255, 0.3); } diff --git a/src/demo/Animations/AnimatedContentDemo.vue b/src/demo/Animations/AnimatedContentDemo.vue new file mode 100644 index 0000000..2928401 --- /dev/null +++ b/src/demo/Animations/AnimatedContentDemo.vue @@ -0,0 +1,197 @@ + + + + + \ No newline at end of file diff --git a/src/demo/Animations/ClickSparkDemo.vue b/src/demo/Animations/ClickSparkDemo.vue new file mode 100644 index 0000000..66be554 --- /dev/null +++ b/src/demo/Animations/ClickSparkDemo.vue @@ -0,0 +1,116 @@ + + + + + diff --git a/src/demo/Animations/CountUpDemo.vue b/src/demo/Animations/CountUpDemo.vue new file mode 100644 index 0000000..c0b21d8 --- /dev/null +++ b/src/demo/Animations/CountUpDemo.vue @@ -0,0 +1,132 @@ + + + + + \ No newline at end of file diff --git a/src/demo/Animations/CubesDemo.vue b/src/demo/Animations/CubesDemo.vue new file mode 100644 index 0000000..301d520 --- /dev/null +++ b/src/demo/Animations/CubesDemo.vue @@ -0,0 +1,151 @@ + + + diff --git a/src/demo/Animations/GlareHoverDemo.vue b/src/demo/Animations/GlareHoverDemo.vue new file mode 100644 index 0000000..c2f5e7f --- /dev/null +++ b/src/demo/Animations/GlareHoverDemo.vue @@ -0,0 +1,143 @@ + + + diff --git a/src/demo/Animations/MagnetDemo.vue b/src/demo/Animations/MagnetDemo.vue new file mode 100644 index 0000000..439ee94 --- /dev/null +++ b/src/demo/Animations/MagnetDemo.vue @@ -0,0 +1,155 @@ + + + + + diff --git a/src/demo/Animations/MagnetLinesDemo.vue b/src/demo/Animations/MagnetLinesDemo.vue new file mode 100644 index 0000000..18466cb --- /dev/null +++ b/src/demo/Animations/MagnetLinesDemo.vue @@ -0,0 +1,93 @@ + + + diff --git a/src/demo/Animations/PixelTransitionDemo.vue b/src/demo/Animations/PixelTransitionDemo.vue new file mode 100644 index 0000000..201a460 --- /dev/null +++ b/src/demo/Animations/PixelTransitionDemo.vue @@ -0,0 +1,122 @@ + + + + + diff --git a/src/demo/Backgrounds/AuroraDemo.vue b/src/demo/Backgrounds/AuroraDemo.vue new file mode 100644 index 0000000..5e5c722 --- /dev/null +++ b/src/demo/Backgrounds/AuroraDemo.vue @@ -0,0 +1,90 @@ + + + + + \ No newline at end of file diff --git a/src/demo/Backgrounds/DotGridDemo.vue b/src/demo/Backgrounds/DotGridDemo.vue index f146184..2caa6fc 100644 --- a/src/demo/Backgrounds/DotGridDemo.vue +++ b/src/demo/Backgrounds/DotGridDemo.vue @@ -3,8 +3,6 @@