From 028c34a050aa25afe460ad8adcc25e0e704b337d Mon Sep 17 00:00:00 2001 From: awangran Date: Sun, 4 Aug 2024 17:10:28 -0500 Subject: [PATCH 1/5] mobile changes --- .DS_Store | Bin 6148 -> 6148 bytes awangran-site/src/App.css | 12 ++++++++++++ awangran-site/src/App.tsx | 10 +++++----- awangran-site/src/index.css | 11 +++++++---- 4 files changed, 24 insertions(+), 9 deletions(-) diff --git a/.DS_Store b/.DS_Store index 5008ddfcf53c02e82d7eee2e57c38e5672ef89f6..d655a9af92041b131a4877d0dbe68019d20e8e1e 100644 GIT binary patch literal 6148 zcmeHKJ5Iwu5S=wH93iBXlv~gel#aZA8zH zNTns(p>yaF?tUC_l}@-0+ACL*9Im`KN0)2cdbqfISqrr_oIlCu)qXFdTz~6|%QrCw zi~(cd&oY3X&5|q%+G-3K1IECN0scOCC}XNv2!>AwmM{VUW0-?r&$9&Qc*Rt)5QGQf zBo!#BPDczU>9Bi^OBD-2NhhbnhtoSdolso3JI?nZoLnkst1(~_!p3qe>Q P_D3MlV2d&EqYQiidO=zD delta 70 zcmZoMXfc=|#>AjHF;Q%yo+1YW5HK<@2y6~y-o~;yf%zBHW_AvK4xj>{$am(+{342+ UKzW7)kiy9(Jj$D6L{=~Z04VMc5C8xG diff --git a/awangran-site/src/App.css b/awangran-site/src/App.css index 88b5dce..700bde5 100644 --- a/awangran-site/src/App.css +++ b/awangran-site/src/App.css @@ -75,6 +75,7 @@ ul{ padding: 30px 0 0 0; white-space: nowrap; position: relative; + width: 90vw; } @@ -95,6 +96,13 @@ ul{ margin: 0 40px; } +@media only screen and (max-width: 768px){ + .logos-slide img { + width: 163px; + height: 63px; + margin: 0 20px; +} +} @keyframes slide { from { @@ -186,4 +194,8 @@ ul{ border-width: 10px; border-color: #EFE9AE; border-radius: 50%; +} + +.overflow{ + overflow-wrap: break-word; } \ No newline at end of file diff --git a/awangran-site/src/App.tsx b/awangran-site/src/App.tsx index 0b84971..45f4054 100644 --- a/awangran-site/src/App.tsx +++ b/awangran-site/src/App.tsx @@ -5,19 +5,19 @@ function App() { return (
-
+
{/*

awangran

*/}

hi! im ash. i like cats and creating stuff.

page under construction

- +

about me

-

im a freshman comp sci student @ universidad de los andes. im into front-end development, quantum computing and electronics. i like doing hackathons and reading wuxia novels. i hope to learn more about cybersec and do more hardware projects.

in my free time i normally play violin, water plants, draw or cultivate to go beyond mortal limits.

+

im a freshman comp sci student @ universidad de los andes. im into front-end development, quantum computing and electronics. i like doing hackathons and reading wuxia novels. i hope to learn more about cybersec and do more hardware projects.

in my free time i normally play violin, water plants, draw or cultivate to go beyond mortal limits.

@@ -112,9 +112,9 @@ function App() {
-

awards/experience

+

awards / experience

-
    +
    • 1st Place VI Colombian National High School Programming Contest
    • 1st LIT Enviromental Engineering Contest Anahuac Merida University
    • Bow Seat Future Blue Youth Council Member '22
    • diff --git a/awangran-site/src/index.css b/awangran-site/src/index.css index 9662946..7700fba 100644 --- a/awangran-site/src/index.css +++ b/awangran-site/src/index.css @@ -4,10 +4,13 @@ :root { background: rgba(255,146,139,1); - + -webkit-box-sizing: border-box; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; + height: 100vh; + width: 100vw; + scroll-behavior: smooth } .ubuntu-mono-regular { @@ -44,15 +47,14 @@ body { margin: 0; display: flex; - min-width: 320px; + min-width: 100vw; min-height: 100vh; justify-content: center; background: linear-gradient(180deg, rgba(242,255,236,1) 0%, rgba(205,234,192,1) 20%, rgba(225,209,166,1) 40%, rgba(255,172,129,1) 60%, rgba(255,146,139,1) 81%); - + -webkit-box-sizing: border-box; } #main { - display: flex; background-color: #FFF5E7; justify-content: center; width: 90vw; @@ -61,6 +63,7 @@ body { border-radius: 50px; box-sizing: border-box; height: 100%; + display: flex; } #inner{ From cc8fde84ef411b2b5d81a9d87bf3ffac59f5123f Mon Sep 17 00:00:00 2001 From: awangran Date: Wed, 7 Aug 2024 16:01:15 -0500 Subject: [PATCH 2/5] loader and anim --- awangran-site/index.html | 2 + awangran-site/package-lock.json | 68 +++++ awangran-site/package.json | 4 + awangran-site/src/App.tsx | 41 ++- awangran-site/src/animation/index.js | 320 ++++++++++++++++++++++ awangran-site/src/assets/cat1.svg | 7 + awangran-site/src/assets/cat2.svg | 7 + awangran-site/src/assets/cat3.svg | 7 + awangran-site/src/component/PreLoader.jsx | 22 ++ awangran-site/src/component/preloader.css | 30 ++ awangran-site/src/index.css | 2 +- awangran-site/src/main.tsx | 1 + 12 files changed, 496 insertions(+), 15 deletions(-) create mode 100644 awangran-site/src/animation/index.js create mode 100644 awangran-site/src/assets/cat1.svg create mode 100644 awangran-site/src/assets/cat2.svg create mode 100644 awangran-site/src/assets/cat3.svg create mode 100644 awangran-site/src/component/PreLoader.jsx create mode 100644 awangran-site/src/component/preloader.css diff --git a/awangran-site/index.html b/awangran-site/index.html index a938c2a..ca5ca88 100644 --- a/awangran-site/index.html +++ b/awangran-site/index.html @@ -8,6 +8,8 @@ awangran + +
      diff --git a/awangran-site/package-lock.json b/awangran-site/package-lock.json index e7c159e..a50afe8 100644 --- a/awangran-site/package-lock.json +++ b/awangran-site/package-lock.json @@ -8,11 +8,15 @@ "name": "awangran-site", "version": "0.0.0", "dependencies": { + "animate.css": "^4.1.1", + "aos": "^2.3.4", + "bootstrap": "^5.3.3", "react": "^18.3.1", "react-dom": "^18.3.1", "three": "^0.167.0" }, "devDependencies": { + "@types/aos": "^3.0.7", "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", "@typescript-eslint/eslint-plugin": "^7.15.0", @@ -1005,6 +1009,16 @@ "node": ">=14" } }, + "node_modules/@popperjs/core": { + "version": "2.11.8", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", + "peer": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, "node_modules/@rollup/rollup-android-arm-eabi": { "version": "4.19.1", "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.19.1.tgz", @@ -1213,6 +1227,12 @@ "win32" ] }, + "node_modules/@types/aos": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/aos/-/aos-3.0.7.tgz", + "integrity": "sha512-sEhyFqvKauUJZDbvAB3Pggynrq6g+2PS4XB3tmUr+mDL1gfDJnwslUC4QQ7/l8UD+LWpr3RxZVR/rHoZrLqZVg==", + "dev": true + }, "node_modules/@types/babel__core": { "version": "7.20.5", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", @@ -1532,6 +1552,11 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/animate.css": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/animate.css/-/animate.css-4.1.1.tgz", + "integrity": "sha512-+mRmCTv6SbCmtYJCN4faJMNFVNN5EuCTTprDTAo7YzIGji2KADmakjVA3+8mVDkZ2Bf09vayB35lSQIex2+QaQ==" + }, "node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -1572,6 +1597,16 @@ "node": ">= 8" } }, + "node_modules/aos": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/aos/-/aos-2.3.4.tgz", + "integrity": "sha512-zh/ahtR2yME4I51z8IttIt4lC1Nw0ktsFtmeDzID1m9naJnWXhCoARaCgNOGXb5CLy3zm+wqmRAEgMYB5E2HUw==", + "dependencies": { + "classlist-polyfill": "^1.0.3", + "lodash.debounce": "^4.0.6", + "lodash.throttle": "^4.0.1" + } + }, "node_modules/arg": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", @@ -1648,6 +1683,24 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/bootstrap": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.3.tgz", + "integrity": "sha512-8HLCdWgyoMguSO9o+aH+iuZ+aht+mzW0u3HIMzVu7Srrpv7EBBxTnrFlSCskwdY1+EOFQSm7uMJhNQHkdPcmjg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/twbs" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/bootstrap" + } + ], + "peerDependencies": { + "@popperjs/core": "^2.11.8" + } + }, "node_modules/brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", @@ -1789,6 +1842,11 @@ "node": ">= 6" } }, + "node_modules/classlist-polyfill": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/classlist-polyfill/-/classlist-polyfill-1.2.0.tgz", + "integrity": "sha512-GzIjNdcEtH4ieA2S8NmrSxv7DfEV5fmixQeyTmqmRmRJPGpRBaSnA2a0VrCjyT8iW8JjEdMbKzDotAJf+ajgaQ==" + }, "node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -2832,12 +2890,22 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, + "node_modules/lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==" + }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", diff --git a/awangran-site/package.json b/awangran-site/package.json index 9802822..8f351c8 100644 --- a/awangran-site/package.json +++ b/awangran-site/package.json @@ -10,11 +10,15 @@ "preview": "vite preview" }, "dependencies": { + "animate.css": "^4.1.1", + "aos": "^2.3.4", + "bootstrap": "^5.3.3", "react": "^18.3.1", "react-dom": "^18.3.1", "three": "^0.167.0" }, "devDependencies": { + "@types/aos": "^3.0.7", "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", "@typescript-eslint/eslint-plugin": "^7.15.0", diff --git a/awangran-site/src/App.tsx b/awangran-site/src/App.tsx index 45f4054..27cd686 100644 --- a/awangran-site/src/App.tsx +++ b/awangran-site/src/App.tsx @@ -1,13 +1,25 @@ -import { useState } from 'react' -import './App.css' +import { useEffect } from 'react'; +import './App.css'; +import Aos from 'aos' +import 'aos/dist/aos.css' +import PreLoader from './component/PreLoader.jsx' function App() { + useEffect(()=>{ + Aos.init({ + duration:2000 + }); + }, []) return ( + <> + + +
      -
      +
      {/*

      awangran

      */}

      hi! im ash. i like cats and creating stuff.

      @@ -15,14 +27,14 @@ function App() {
      -
      +

      about me

      im a freshman comp sci student @ universidad de los andes. im into front-end development, quantum computing and electronics. i like doing hackathons and reading wuxia novels. i hope to learn more about cybersec and do more hardware projects.

      in my free time i normally play violin, water plants, draw or cultivate to go beyond mortal limits.

      -
      -

      skills

      +
      +

      skills

      @@ -44,10 +56,10 @@ function App() {
      -

      projects

      +

      projects

      -
      +

      Niveles de Niveles

      @@ -60,7 +72,7 @@ function App() {
      -
      +

      Devoided

      @@ -73,7 +85,7 @@ function App() {
      -
      +

      Flower pcb nfc card

      @@ -84,7 +96,7 @@ function App() {
      -
      +

      Hackathon projects

      @@ -95,7 +107,7 @@ function App() {
      -
      +

      Shu

      @@ -111,7 +123,7 @@ function App() {
      -
      +

      awards / experience

        @@ -134,7 +146,7 @@ function App() {
      -
      +

      socials

      interested in what i do? send an email to work together

      or stalk my social media

      @@ -163,6 +175,7 @@ function App() {
      + ) } diff --git a/awangran-site/src/animation/index.js b/awangran-site/src/animation/index.js new file mode 100644 index 0000000..008272d --- /dev/null +++ b/awangran-site/src/animation/index.js @@ -0,0 +1,320 @@ +import {gsap} from "gsap"; + +// Declare a general timeline to use in all the animation functions. + +const tl = gsap.timeline(); + +// Preloader Animation +export const preLoaderAnim = () => { + tl.to("body", { + duration: 0.1, + css: { overflowY: "hidden" }, + ease: "power3.inOut", + }) + .to(".landing", { + duration: 0.05, + css: { overflowY: "hidden", height: "90vh" }, + }) + .to(".texts-container", { + duration: 0, + opacity: 1, + ease: "Power3.easeOut", + }) + .from(".texts-container span img", { + duration: 1.5, + delay: 1, + y: 70, + skewY: 10, + stagger: 0.4, + ease: "Power3.easeOut", + }) + .to(".texts-container span img", { + duration: 1, + y: 70, + skewY: -20, + stagger: 0.2, + ease: "Power3.easeOut", + }) + + .to(".landing", { + duration: 0.05, + css: { overflowY: "hidden", height: "unset" }, + }) + .to("body", { + duration: 0.1, + css: { overflowY: "scroll" }, + ease: "power3.inOut", + }) + .from(".landing__top .sub", { + duration: 1, + opacity: 0, + y: 80, + ease: "expo.easeOut", + }) + .to( + ".preloader", + { + duration: 1.5, + height: "0vh", + ease: "Power3.easeOut", + onComplete: mobileLanding(), + }, + "-=2" + ) + .from(".landing__main .text", { + duration: 2, + // scale: 0, + y: 10, + opacity: 0, + stagger: { + amount: 2, + }, + ease: "power3.easeInOut", + }) + .from(".links .item", { + duration: 0.5, + opacity: 0, + delay: window.innerWidth < 763 ? -3 : -0.6, + // y: 80, + stagger: { + amount: 0.5, + }, + ease: "expo.easeOut", + onComplete: animateMainShape(), + }) + .from(".main-circle", { + duration: 1, + opacity: 0, + ease: "power3.easeInOut", + onComplete: animateShapes(), + }) + .from(".shapes .shape", { + duration: 1, + opacity: 0, + delay: -1, + ease: "power3.easeInOut", + stagger: 1, + }) + .to(".preloader", { + duration: 0, + css: { display: "none" }, + }); +}; + +export const openMenu = () => { + const tl = gsap.timeline(); + tl.to("body", { + duration: 0.1, + css: { overflowY: "hidden" }, + ease: "power3.out", + }) + .to(".hamburger-menu", { + duration: 0.1, + css: { display: "block" }, + }) + .to(".header-item", { + duration: 0.1, + css: { background: "none" }, + }) + .to(".cls-1", { + duration: 0.1, + delay: 0.3, + css: { fill: "#ffffff" }, + }) + .to( + [".nav-secondary", ".nav-primary"], + { + duration: 0.8, + height: "100%", + transformOrigin: "right top", + stagger: { + amount: 0.1, + }, + ease: "power3.inOut", + }, + "-=.5" + ) + .from( + ".nav-link", + { + duration: 0.5, + x: -80, + opacity: 0, + stagger: { + amount: 0.5, + }, + ease: "Power3.in", + }, + "-=.3" + ); + + // change cursor color when nav is open + // tl.to(".cursor", { + // delay: -1, + // css: { className: "+=cursor-active" }, + // }).to(".cursor2", { delay: -1, css: { className: "+=cursor2-active" } }); +}; + +export const closeMenu = () => { + const tl = gsap.timeline(); + tl.to("body", { + duration: 0.05, + css: { overflowY: "scroll" }, + ease: "power3.inOut", + }) + .to([".nav-primary", ".nav-secondary"], { + duration: 0.8, + height: "0", + transformOrigin: "right top", + stagger: { + amount: 0.1, + }, + ease: "power3.inOut", + }) + .to(".cls-1", { + duration: 0.1, + delay: -0.3, + css: { fill: "#08e7f3" }, + }) + .to(".header-item", { + duration: 0.5, + css: { background: "rgba(11,11,15,.8)" }, + }) + .to(".hamburger-menu", { + duration: 0.05, + css: { display: "none" }, + }); + + // tl.to(".cursor-active", { + // css: { className: "+=cursor" }, + // }).to(".cursor2-active", { css: { className: "+=cursor2" } }); +}; + +// recurrent animations +export const fadeUp = (el, delay = 0) => { + tl.from(el, { + y: 150, + duration: 1, + delay, + opacity: 0, + ease: "power3.Out", + }); +}; + +export const mobileLanding = () => { + window.innerWidth < 763 && + tl.from(".landing__main2", { + duration: 1, + delay: 0, + opacity: 0, + y: 80, + ease: "expo.easeOut", + }); +}; + +const animateShapes = () => { + const infiniteTl = gsap.timeline({ + repeat: -1, + }); + infiniteTl + .to(".shapes .shape", { + duration: 4, + rotate: 360, + delay: -1, + ease: "power3.easeInOut", + stagger: 2, + }) + .to(".shapes .shape-3", { + duration: 1, + rotate: 360, + delay: -2, + ease: "power3.easeInOut", + }) + .to(".shapes .shape", { + duration: 3, + rotate: 0, + ease: "power3.easeInOut", + stagger: 1, + }) + .to(".shapes .shape", { + duration: 1, + opacity: 0, + delay: -1, + ease: "power3.easeInOut", + stagger: 1, + }) + .to(".shapes .shape", { + duration: 1.5, + opacity: 1, + ease: "power3.easeInOut", + stagger: 1, + }); +}; + +const animateMainShape = () => { + const infiniteTl = gsap.timeline({ + repeat: -1, + }); + infiniteTl + .to(".shapes .main-circle", { + duration: 6, + x: -30, + y: -50, + ease: "expo.easeOut", + }) + .to(".shapes .main-circle", { + duration: 6, + x: -30, + y: 50, + ease: "expo.easeOut", + }) + .to(".shapes .main-circle", { + duration: 4, + x: 0, + y: 0, + ease: "expo.easeOut", + }); +}; + +export const boxHover = (e) => { + const tl = gsap.timeline(); + window.innerWidth >= 986 && + tl + .to(e.target.querySelector(".link"), { + duration: 0, + opacity: 1, + }) + .from(e.target.querySelectorAll(".box-anim"), { + duration: 0.3, + opacity: 0, + y: 30, + stagger: 0.1, + ease: "Power3.easeOut", + }); +}; + +export const boxExit = (e) => { + window.innerWidth >= 986 && + gsap.to(e.target.querySelector(".link"), { + duration: 0, + opacity: 0, + }); +}; + +export const fadeIn = (el) => { + gsap.to(el, { + duration: 2, + opacity: 1, + y: -60, + ease: "power4.out", + }); +}; + +export const fadeOut = (el) => { + gsap.to(el, { + duration: 1, + opacity: 0, + y: -20, + ease: "power4.out", + }); +}; \ No newline at end of file diff --git a/awangran-site/src/assets/cat1.svg b/awangran-site/src/assets/cat1.svg new file mode 100644 index 0000000..5a42705 --- /dev/null +++ b/awangran-site/src/assets/cat1.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/awangran-site/src/assets/cat2.svg b/awangran-site/src/assets/cat2.svg new file mode 100644 index 0000000..4b38c6a --- /dev/null +++ b/awangran-site/src/assets/cat2.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/awangran-site/src/assets/cat3.svg b/awangran-site/src/assets/cat3.svg new file mode 100644 index 0000000..da8f668 --- /dev/null +++ b/awangran-site/src/assets/cat3.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/awangran-site/src/component/PreLoader.jsx b/awangran-site/src/component/PreLoader.jsx new file mode 100644 index 0000000..c040e5c --- /dev/null +++ b/awangran-site/src/component/PreLoader.jsx @@ -0,0 +1,22 @@ +import React, { useEffect } from 'react' +import './preloader.css' +import { preLoaderAnim } from '../animation' +const PreLoader = () => { + + useEffect(()=>{ + preLoaderAnim() + },[]); + + return ( +
      +
      + + + +
      + +
      + ) +} + +export default PreLoader diff --git a/awangran-site/src/component/preloader.css b/awangran-site/src/component/preloader.css new file mode 100644 index 0000000..fc4af17 --- /dev/null +++ b/awangran-site/src/component/preloader.css @@ -0,0 +1,30 @@ +.preloader{ + height: 100vh; + width: 100%; + background-color: rgba(255,146,139,1); + color: aliceblue; + position: fixed; + bottom: 0; + left: 0; + right: 0; + z-index: 55; + display: flex; + align-items: center; + overflow: hidden; + justify-content: center; +} + +.text-container{ + display: flex; + justify-content: space-between; + align-items: center; + height: 60px; + width: 280px; + font-size: 40px; + overflow: hidden; +} + +.cats{ + display: flex; + +} \ No newline at end of file diff --git a/awangran-site/src/index.css b/awangran-site/src/index.css index 7700fba..3b53404 100644 --- a/awangran-site/src/index.css +++ b/awangran-site/src/index.css @@ -50,7 +50,7 @@ body { min-width: 100vw; min-height: 100vh; justify-content: center; - background: linear-gradient(180deg, rgba(242,255,236,1) 0%, rgba(205,234,192,1) 20%, rgba(225,209,166,1) 40%, rgba(255,172,129,1) 60%, rgba(255,146,139,1) 81%); + background: linear-gradient(180deg, rgb(242, 255, 236) 0%, rgba(205,234,192,1) 20%, rgba(225,209,166,1) 40%, rgba(255,172,129,1) 60%, rgba(255,146,139,1) 81%); -webkit-box-sizing: border-box; } diff --git a/awangran-site/src/main.tsx b/awangran-site/src/main.tsx index 3d7150d..d9af151 100644 --- a/awangran-site/src/main.tsx +++ b/awangran-site/src/main.tsx @@ -3,6 +3,7 @@ import ReactDOM from 'react-dom/client' import App from './App.tsx' import './index.css' + ReactDOM.createRoot(document.getElementById('root')!).render( From 911431e65f0df9af98182318827487c875c03072 Mon Sep 17 00:00:00 2001 From: awangran Date: Thu, 8 Aug 2024 12:37:01 -0500 Subject: [PATCH 3/5] icons loading work --- awangran-site/src/animation/index.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/awangran-site/src/animation/index.js b/awangran-site/src/animation/index.js index 008272d..e1dc621 100644 --- a/awangran-site/src/animation/index.js +++ b/awangran-site/src/animation/index.js @@ -1,5 +1,6 @@ import {gsap} from "gsap"; + // Declare a general timeline to use in all the animation functions. const tl = gsap.timeline(); @@ -15,12 +16,12 @@ export const preLoaderAnim = () => { duration: 0.05, css: { overflowY: "hidden", height: "90vh" }, }) - .to(".texts-container", { + .to(".text-container", { duration: 0, opacity: 1, ease: "Power3.easeOut", }) - .from(".texts-container span img", { + .from(".text-container span img", { duration: 1.5, delay: 1, y: 70, @@ -28,7 +29,7 @@ export const preLoaderAnim = () => { stagger: 0.4, ease: "Power3.easeOut", }) - .to(".texts-container span img", { + .to(".text-container span img", { duration: 1, y: 70, skewY: -20, From bb703dab62b11f31f0d16aa6cd38133a0165d8ac Mon Sep 17 00:00:00 2001 From: awangran Date: Thu, 8 Aug 2024 14:46:00 -0500 Subject: [PATCH 4/5] fixed xoverflow --- awangran-site/src/animation/index.js | 202 +--------------------- awangran-site/src/component/preloader.css | 3 +- awangran-site/src/index.css | 5 +- 3 files changed, 8 insertions(+), 202 deletions(-) diff --git a/awangran-site/src/animation/index.js b/awangran-site/src/animation/index.js index e1dc621..6b887c7 100644 --- a/awangran-site/src/animation/index.js +++ b/awangran-site/src/animation/index.js @@ -1,8 +1,6 @@ import {gsap} from "gsap"; -// Declare a general timeline to use in all the animation functions. - const tl = gsap.timeline(); // Preloader Animation @@ -14,7 +12,7 @@ export const preLoaderAnim = () => { }) .to(".landing", { duration: 0.05, - css: { overflowY: "hidden", height: "90vh" }, + css: { overflowY: "hidden", height: "100vh" }, }) .to(".text-container", { duration: 0, @@ -72,124 +70,15 @@ export const preLoaderAnim = () => { }, ease: "power3.easeInOut", }) - .from(".links .item", { - duration: 0.5, - opacity: 0, - delay: window.innerWidth < 763 ? -3 : -0.6, - // y: 80, - stagger: { - amount: 0.5, - }, - ease: "expo.easeOut", - onComplete: animateMainShape(), - }) - .from(".main-circle", { - duration: 1, - opacity: 0, - ease: "power3.easeInOut", - onComplete: animateShapes(), - }) - .from(".shapes .shape", { - duration: 1, - opacity: 0, - delay: -1, - ease: "power3.easeInOut", - stagger: 1, - }) + .to(".preloader", { duration: 0, css: { display: "none" }, }); }; -export const openMenu = () => { - const tl = gsap.timeline(); - tl.to("body", { - duration: 0.1, - css: { overflowY: "hidden" }, - ease: "power3.out", - }) - .to(".hamburger-menu", { - duration: 0.1, - css: { display: "block" }, - }) - .to(".header-item", { - duration: 0.1, - css: { background: "none" }, - }) - .to(".cls-1", { - duration: 0.1, - delay: 0.3, - css: { fill: "#ffffff" }, - }) - .to( - [".nav-secondary", ".nav-primary"], - { - duration: 0.8, - height: "100%", - transformOrigin: "right top", - stagger: { - amount: 0.1, - }, - ease: "power3.inOut", - }, - "-=.5" - ) - .from( - ".nav-link", - { - duration: 0.5, - x: -80, - opacity: 0, - stagger: { - amount: 0.5, - }, - ease: "Power3.in", - }, - "-=.3" - ); - - // change cursor color when nav is open - // tl.to(".cursor", { - // delay: -1, - // css: { className: "+=cursor-active" }, - // }).to(".cursor2", { delay: -1, css: { className: "+=cursor2-active" } }); -}; -export const closeMenu = () => { - const tl = gsap.timeline(); - tl.to("body", { - duration: 0.05, - css: { overflowY: "scroll" }, - ease: "power3.inOut", - }) - .to([".nav-primary", ".nav-secondary"], { - duration: 0.8, - height: "0", - transformOrigin: "right top", - stagger: { - amount: 0.1, - }, - ease: "power3.inOut", - }) - .to(".cls-1", { - duration: 0.1, - delay: -0.3, - css: { fill: "#08e7f3" }, - }) - .to(".header-item", { - duration: 0.5, - css: { background: "rgba(11,11,15,.8)" }, - }) - .to(".hamburger-menu", { - duration: 0.05, - css: { display: "none" }, - }); - // tl.to(".cursor-active", { - // css: { className: "+=cursor" }, - // }).to(".cursor2-active", { css: { className: "+=cursor2" } }); -}; // recurrent animations export const fadeUp = (el, delay = 0) => { @@ -208,99 +97,12 @@ export const mobileLanding = () => { duration: 1, delay: 0, opacity: 0, - y: 80, - ease: "expo.easeOut", - }); -}; - -const animateShapes = () => { - const infiniteTl = gsap.timeline({ - repeat: -1, - }); - infiniteTl - .to(".shapes .shape", { - duration: 4, - rotate: 360, - delay: -1, - ease: "power3.easeInOut", - stagger: 2, - }) - .to(".shapes .shape-3", { - duration: 1, - rotate: 360, - delay: -2, - ease: "power3.easeInOut", - }) - .to(".shapes .shape", { - duration: 3, - rotate: 0, - ease: "power3.easeInOut", - stagger: 1, - }) - .to(".shapes .shape", { - duration: 1, - opacity: 0, - delay: -1, - ease: "power3.easeInOut", - stagger: 1, - }) - .to(".shapes .shape", { - duration: 1.5, - opacity: 1, - ease: "power3.easeInOut", - stagger: 1, - }); -}; - -const animateMainShape = () => { - const infiniteTl = gsap.timeline({ - repeat: -1, - }); - infiniteTl - .to(".shapes .main-circle", { - duration: 6, - x: -30, - y: -50, - ease: "expo.easeOut", - }) - .to(".shapes .main-circle", { - duration: 6, - x: -30, - y: 50, - ease: "expo.easeOut", - }) - .to(".shapes .main-circle", { - duration: 4, - x: 0, y: 0, ease: "expo.easeOut", }); }; -export const boxHover = (e) => { - const tl = gsap.timeline(); - window.innerWidth >= 986 && - tl - .to(e.target.querySelector(".link"), { - duration: 0, - opacity: 1, - }) - .from(e.target.querySelectorAll(".box-anim"), { - duration: 0.3, - opacity: 0, - y: 30, - stagger: 0.1, - ease: "Power3.easeOut", - }); -}; -export const boxExit = (e) => { - window.innerWidth >= 986 && - gsap.to(e.target.querySelector(".link"), { - duration: 0, - opacity: 0, - }); -}; export const fadeIn = (el) => { gsap.to(el, { diff --git a/awangran-site/src/component/preloader.css b/awangran-site/src/component/preloader.css index fc4af17..4d0ec60 100644 --- a/awangran-site/src/component/preloader.css +++ b/awangran-site/src/component/preloader.css @@ -1,10 +1,11 @@ .preloader{ height: 100vh; - width: 100%; + width: 100vw; background-color: rgba(255,146,139,1); color: aliceblue; position: fixed; bottom: 0; + top: 0; left: 0; right: 0; z-index: 55; diff --git a/awangran-site/src/index.css b/awangran-site/src/index.css index 3b53404..b350251 100644 --- a/awangran-site/src/index.css +++ b/awangran-site/src/index.css @@ -10,7 +10,9 @@ -moz-osx-font-smoothing: grayscale; height: 100vh; width: 100vw; - scroll-behavior: smooth + scroll-behavior: smooth; + overflow-x: clip; + } .ubuntu-mono-regular { @@ -52,6 +54,7 @@ body { justify-content: center; background: linear-gradient(180deg, rgb(242, 255, 236) 0%, rgba(205,234,192,1) 20%, rgba(225,209,166,1) 40%, rgba(255,172,129,1) 60%, rgba(255,146,139,1) 81%); -webkit-box-sizing: border-box; + overflow-x: hidden; } #main { From 72bd5443508910d23b21919937b3d98e3fd89e83 Mon Sep 17 00:00:00 2001 From: awangran Date: Sat, 10 Aug 2024 12:50:23 -0500 Subject: [PATCH 5/5] build on main --- awangran-site/package-lock.json | 359 ++++++++++++++++---------------- awangran-site/src/App.tsx | 22 +- awangran-site/tsconfig.app.json | 1 + 3 files changed, 199 insertions(+), 183 deletions(-) diff --git a/awangran-site/package-lock.json b/awangran-site/package-lock.json index a50afe8..e920432 100644 --- a/awangran-site/package-lock.json +++ b/awangran-site/package-lock.json @@ -71,30 +71,30 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.0.tgz", - "integrity": "sha512-P4fwKI2mjEb3ZU5cnMJzvRsRKGBUcs8jvxIoRmr6ufAY9Xk2Bz7JubRTTivkw55c7WQJfTECeqYVa+HZ0FzREg==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.2.tgz", + "integrity": "sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.24.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.9.tgz", - "integrity": "sha512-5e3FI4Q3M3Pbr21+5xJwCv6ZT6KmGkI0vw3Tozy5ODAQFTIWe37iT8Cr7Ice2Ntb+M3iSKCEWMB1MBgKrW3whg==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", + "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.24.9", - "@babel/helper-compilation-targets": "^7.24.8", - "@babel/helper-module-transforms": "^7.24.9", - "@babel/helpers": "^7.24.8", - "@babel/parser": "^7.24.8", - "@babel/template": "^7.24.7", - "@babel/traverse": "^7.24.8", - "@babel/types": "^7.24.9", + "@babel/generator": "^7.25.0", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-module-transforms": "^7.25.2", + "@babel/helpers": "^7.25.0", + "@babel/parser": "^7.25.0", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.2", + "@babel/types": "^7.25.2", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -134,12 +134,12 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.8.tgz", - "integrity": "sha512-oU+UoqCHdp+nWVDkpldqIQL/i/bvAv53tRqLG/s+cOXxe66zOYLU7ar/Xs3LdmBihrUMEUhwu6dMZwbNOYDwvw==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz", + "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.24.8", + "@babel/compat-data": "^7.25.2", "@babel/helper-validator-option": "^7.24.8", "browserslist": "^4.23.1", "lru-cache": "^5.1.1", @@ -172,15 +172,15 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.0.tgz", - "integrity": "sha512-bIkOa2ZJYn7FHnepzr5iX9Kmz8FjIz4UKzJ9zhX3dnYuVW0xul9RuR3skBfoLu+FPTQw90EHW9rJsSZhyLQ3fQ==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz", + "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==", "dev": true, "dependencies": { "@babel/helper-module-imports": "^7.24.7", "@babel/helper-simple-access": "^7.24.7", "@babel/helper-validator-identifier": "^7.24.7", - "@babel/traverse": "^7.25.0" + "@babel/traverse": "^7.25.2" }, "engines": { "node": ">=6.9.0" @@ -267,10 +267,13 @@ } }, "node_modules/@babel/parser": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.0.tgz", - "integrity": "sha512-CzdIU9jdP0dg7HdyB+bHvDJGagUv+qtzZt5rYCWwW6tITNqV9odjp6Qu41gkG0ca5UfdDUWrKkiAnHHdGRnOrA==", + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.3.tgz", + "integrity": "sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==", "dev": true, + "dependencies": { + "@babel/types": "^7.25.2" + }, "bin": { "parser": "bin/babel-parser.js" }, @@ -323,16 +326,16 @@ } }, "node_modules/@babel/traverse": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.0.tgz", - "integrity": "sha512-ubALThHQy4GCf6mbb+5ZRNmLLCI7bJ3f8Q6LHBSRlSKSWj5a7dSUzJBLv3VuIhFrFPgjF4IzPF567YG/HSCdZA==", + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.3.tgz", + "integrity": "sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ==", "dev": true, "dependencies": { "@babel/code-frame": "^7.24.7", "@babel/generator": "^7.25.0", - "@babel/parser": "^7.25.0", + "@babel/parser": "^7.25.3", "@babel/template": "^7.25.0", - "@babel/types": "^7.25.0", + "@babel/types": "^7.25.2", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -341,9 +344,9 @@ } }, "node_modules/@babel/types": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.0.tgz", - "integrity": "sha512-LcnxQSsd9aXOIgmmSpvZ/1yo46ra2ESYyqLcryaBZOghxy5qqOBjvCWP5JfkI8yl9rlxRgdLTTMCQQRcN2hdCg==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.2.tgz", + "integrity": "sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==", "dev": true, "dependencies": { "@babel/helper-string-parser": "^7.24.8", @@ -1020,9 +1023,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.19.1.tgz", - "integrity": "sha512-XzqSg714++M+FXhHfXpS1tDnNZNpgxxuGZWlRG/jSj+VEPmZ0yg6jV4E0AL3uyBKxO8mO3xtOsP5mQ+XLfrlww==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.20.0.tgz", + "integrity": "sha512-TSpWzflCc4VGAUJZlPpgAJE1+V60MePDQnBd7PPkpuEmOy8i87aL6tinFGKBFKuEDikYpig72QzdT3QPYIi+oA==", "cpu": [ "arm" ], @@ -1033,9 +1036,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.19.1.tgz", - "integrity": "sha512-thFUbkHteM20BGShD6P08aungq4irbIZKUNbG70LN8RkO7YztcGPiKTTGZS7Kw+x5h8hOXs0i4OaHwFxlpQN6A==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.20.0.tgz", + "integrity": "sha512-u00Ro/nok7oGzVuh/FMYfNoGqxU5CPWz1mxV85S2w9LxHR8OoMQBuSk+3BKVIDYgkpeOET5yXkx90OYFc+ytpQ==", "cpu": [ "arm64" ], @@ -1046,9 +1049,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.19.1.tgz", - "integrity": "sha512-8o6eqeFZzVLia2hKPUZk4jdE3zW7LCcZr+MD18tXkgBBid3lssGVAYuox8x6YHoEPDdDa9ixTaStcmx88lio5Q==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.20.0.tgz", + "integrity": "sha512-uFVfvzvsdGtlSLuL0ZlvPJvl6ZmrH4CBwLGEFPe7hUmf7htGAN+aXo43R/V6LATyxlKVC/m6UsLb7jbG+LG39Q==", "cpu": [ "arm64" ], @@ -1059,9 +1062,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.19.1.tgz", - "integrity": "sha512-4T42heKsnbjkn7ovYiAdDVRRWZLU9Kmhdt6HafZxFcUdpjlBlxj4wDrt1yFWLk7G4+E+8p2C9tcmSu0KA6auGA==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.20.0.tgz", + "integrity": "sha512-xbrMDdlev53vNXexEa6l0LffojxhqDTBeL+VUxuuIXys4x6xyvbKq5XqTXBCEUA8ty8iEJblHvFaWRJTk/icAQ==", "cpu": [ "x64" ], @@ -1072,9 +1075,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.19.1.tgz", - "integrity": "sha512-MXg1xp+e5GhZ3Vit1gGEyoC+dyQUBy2JgVQ+3hUrD9wZMkUw/ywgkpK7oZgnB6kPpGrxJ41clkPPnsknuD6M2Q==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.20.0.tgz", + "integrity": "sha512-jMYvxZwGmoHFBTbr12Xc6wOdc2xA5tF5F2q6t7Rcfab68TT0n+r7dgawD4qhPEvasDsVpQi+MgDzj2faOLsZjA==", "cpu": [ "arm" ], @@ -1085,9 +1088,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.19.1.tgz", - "integrity": "sha512-DZNLwIY4ftPSRVkJEaxYkq7u2zel7aah57HESuNkUnz+3bZHxwkCUkrfS2IWC1sxK6F2QNIR0Qr/YXw7nkF3Pw==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.20.0.tgz", + "integrity": "sha512-1asSTl4HKuIHIB1GcdFHNNZhxAYEdqML/MW4QmPS4G0ivbEcBr1JKlFLKsIRqjSwOBkdItn3/ZDlyvZ/N6KPlw==", "cpu": [ "arm" ], @@ -1098,9 +1101,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.19.1.tgz", - "integrity": "sha512-C7evongnjyxdngSDRRSQv5GvyfISizgtk9RM+z2biV5kY6S/NF/wta7K+DanmktC5DkuaJQgoKGf7KUDmA7RUw==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.20.0.tgz", + "integrity": "sha512-COBb8Bkx56KldOYJfMf6wKeYJrtJ9vEgBRAOkfw6Ens0tnmzPqvlpjZiLgkhg6cA3DGzCmLmmd319pmHvKWWlQ==", "cpu": [ "arm64" ], @@ -1111,9 +1114,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.19.1.tgz", - "integrity": "sha512-89tFWqxfxLLHkAthAcrTs9etAoBFRduNfWdl2xUs/yLV+7XDrJ5yuXMHptNqf1Zw0UCA3cAutkAiAokYCkaPtw==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.20.0.tgz", + "integrity": "sha512-+it+mBSyMslVQa8wSPvBx53fYuZK/oLTu5RJoXogjk6x7Q7sz1GNRsXWjn6SwyJm8E/oMjNVwPhmNdIjwP135Q==", "cpu": [ "arm64" ], @@ -1124,9 +1127,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.19.1.tgz", - "integrity": "sha512-PromGeV50sq+YfaisG8W3fd+Cl6mnOOiNv2qKKqKCpiiEke2KiKVyDqG/Mb9GWKbYMHj5a01fq/qlUR28PFhCQ==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.20.0.tgz", + "integrity": "sha512-yAMvqhPfGKsAxHN8I4+jE0CpLWD8cv4z7CK7BMmhjDuz606Q2tFKkWRY8bHR9JQXYcoLfopo5TTqzxgPUjUMfw==", "cpu": [ "ppc64" ], @@ -1137,9 +1140,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.19.1.tgz", - "integrity": "sha512-/1BmHYh+iz0cNCP0oHCuF8CSiNj0JOGf0jRlSo3L/FAyZyG2rGBuKpkZVH9YF+x58r1jgWxvm1aRg3DHrLDt6A==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.20.0.tgz", + "integrity": "sha512-qmuxFpfmi/2SUkAw95TtNq/w/I7Gpjurx609OOOV7U4vhvUhBcftcmXwl3rqAek+ADBwSjIC4IVNLiszoj3dPA==", "cpu": [ "riscv64" ], @@ -1150,9 +1153,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.19.1.tgz", - "integrity": "sha512-0cYP5rGkQWRZKy9/HtsWVStLXzCF3cCBTRI+qRL8Z+wkYlqN7zrSYm6FuY5Kd5ysS5aH0q5lVgb/WbG4jqXN1Q==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.20.0.tgz", + "integrity": "sha512-I0BtGXddHSHjV1mqTNkgUZLnS3WtsqebAXv11D5BZE/gfw5KoyXSAXVqyJximQXNvNzUo4GKlCK/dIwXlz+jlg==", "cpu": [ "s390x" ], @@ -1163,9 +1166,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.19.1.tgz", - "integrity": "sha512-XUXeI9eM8rMP8aGvii/aOOiMvTs7xlCosq9xCjcqI9+5hBxtjDpD+7Abm1ZhVIFE1J2h2VIg0t2DX/gjespC2Q==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.20.0.tgz", + "integrity": "sha512-y+eoL2I3iphUg9tN9GB6ku1FA8kOfmF4oUEWhztDJ4KXJy1agk/9+pejOuZkNFhRwHAOxMsBPLbXPd6mJiCwew==", "cpu": [ "x64" ], @@ -1176,9 +1179,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.19.1.tgz", - "integrity": "sha512-V7cBw/cKXMfEVhpSvVZhC+iGifD6U1zJ4tbibjjN+Xi3blSXaj/rJynAkCFFQfoG6VZrAiP7uGVzL440Q6Me2Q==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.20.0.tgz", + "integrity": "sha512-hM3nhW40kBNYUkZb/r9k2FKK+/MnKglX7UYd4ZUy5DJs8/sMsIbqWK2piZtVGE3kcXVNj3B2IrUYROJMMCikNg==", "cpu": [ "x64" ], @@ -1189,9 +1192,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.19.1.tgz", - "integrity": "sha512-88brja2vldW/76jWATlBqHEoGjJLRnP0WOEKAUbMcXaAZnemNhlAHSyj4jIwMoP2T750LE9lblvD4e2jXleZsA==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.20.0.tgz", + "integrity": "sha512-psegMvP+Ik/Bg7QRJbv8w8PAytPA7Uo8fpFjXyCRHWm6Nt42L+JtoqH8eDQ5hRP7/XW2UiIriy1Z46jf0Oa1kA==", "cpu": [ "arm64" ], @@ -1202,9 +1205,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.19.1.tgz", - "integrity": "sha512-LdxxcqRVSXi6k6JUrTah1rHuaupoeuiv38du8Mt4r4IPer3kwlTo+RuvfE8KzZ/tL6BhaPlzJ3835i6CxrFIRQ==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.20.0.tgz", + "integrity": "sha512-GabekH3w4lgAJpVxkk7hUzUf2hICSQO0a/BLFA11/RMxQT92MabKAqyubzDZmMOC/hcJNlc+rrypzNzYl4Dx7A==", "cpu": [ "ia32" ], @@ -1215,9 +1218,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.19.1.tgz", - "integrity": "sha512-2bIrL28PcK3YCqD9anGxDxamxdiJAxA+l7fWIwM5o8UqNy1t3d1NdAweO2XhA0KTDJ5aH1FsuiT5+7VhtHliXg==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.20.0.tgz", + "integrity": "sha512-aJ1EJSuTdGnM6qbVC4B5DSmozPTqIag9fSzXRNNo+humQLG89XpPgdt16Ia56ORD7s+H8Pmyx44uczDQ0yDzpg==", "cpu": [ "x64" ], @@ -1306,16 +1309,16 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.17.0.tgz", - "integrity": "sha512-pyiDhEuLM3PuANxH7uNYan1AaFs5XE0zw1hq69JBvGvE7gSuEoQl1ydtEe/XQeoC3GQxLXyOVa5kNOATgM638A==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.18.0.tgz", + "integrity": "sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.17.0", - "@typescript-eslint/type-utils": "7.17.0", - "@typescript-eslint/utils": "7.17.0", - "@typescript-eslint/visitor-keys": "7.17.0", + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/type-utils": "7.18.0", + "@typescript-eslint/utils": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -1339,15 +1342,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.17.0.tgz", - "integrity": "sha512-puiYfGeg5Ydop8eusb/Hy1k7QmOU6X3nvsqCgzrB2K4qMavK//21+PzNE8qeECgNOIoertJPUC1SpegHDI515A==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.18.0.tgz", + "integrity": "sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "7.17.0", - "@typescript-eslint/types": "7.17.0", - "@typescript-eslint/typescript-estree": "7.17.0", - "@typescript-eslint/visitor-keys": "7.17.0", + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/typescript-estree": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", "debug": "^4.3.4" }, "engines": { @@ -1367,13 +1370,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.17.0.tgz", - "integrity": "sha512-0P2jTTqyxWp9HiKLu/Vemr2Rg1Xb5B7uHItdVZ6iAenXmPo4SZ86yOPCJwMqpCyaMiEHTNqizHfsbmCFT1x9SA==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz", + "integrity": "sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.17.0", - "@typescript-eslint/visitor-keys": "7.17.0" + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -1384,13 +1387,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.17.0.tgz", - "integrity": "sha512-XD3aaBt+orgkM/7Cei0XNEm1vwUxQ958AOLALzPlbPqb8C1G8PZK85tND7Jpe69Wualri81PLU+Zc48GVKIMMA==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.18.0.tgz", + "integrity": "sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "7.17.0", - "@typescript-eslint/utils": "7.17.0", + "@typescript-eslint/typescript-estree": "7.18.0", + "@typescript-eslint/utils": "7.18.0", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, @@ -1411,9 +1414,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.17.0.tgz", - "integrity": "sha512-a29Ir0EbyKTKHnZWbNsrc/gqfIBqYPwj3F2M+jWE/9bqfEHg0AMtXzkbUkOG6QgEScxh2+Pz9OXe11jHDnHR7A==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.18.0.tgz", + "integrity": "sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==", "dev": true, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -1424,13 +1427,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.17.0.tgz", - "integrity": "sha512-72I3TGq93t2GoSBWI093wmKo0n6/b7O4j9o8U+f65TVD0FS6bI2180X5eGEr8MA8PhKMvYe9myZJquUT2JkCZw==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz", + "integrity": "sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.17.0", - "@typescript-eslint/visitor-keys": "7.17.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -1452,15 +1455,15 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.17.0.tgz", - "integrity": "sha512-r+JFlm5NdB+JXc7aWWZ3fKSm1gn0pkswEwIYsrGPdsT2GjsRATAKXiNtp3vgAAO1xZhX8alIOEQnNMl3kbTgJw==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.18.0.tgz", + "integrity": "sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "7.17.0", - "@typescript-eslint/types": "7.17.0", - "@typescript-eslint/typescript-estree": "7.17.0" + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/typescript-estree": "7.18.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -1474,12 +1477,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.17.0.tgz", - "integrity": "sha512-RVGC9UhPOCsfCdI9pU++K4nD7to+jTcMIbXTSOcrLqUEW6gF2pU1UUbYJKc9cvcRSK1UDeMJ7pdMxf4bhMpV/A==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz", + "integrity": "sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.17.0", + "@typescript-eslint/types": "7.18.0", "eslint-visitor-keys": "^3.4.3" }, "engines": { @@ -1629,9 +1632,9 @@ } }, "node_modules/autoprefixer": { - "version": "10.4.19", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", - "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", + "version": "10.4.20", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", + "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", "dev": true, "funding": [ { @@ -1648,11 +1651,11 @@ } ], "dependencies": { - "browserslist": "^4.23.0", - "caniuse-lite": "^1.0.30001599", + "browserslist": "^4.23.3", + "caniuse-lite": "^1.0.30001646", "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", + "picocolors": "^1.0.1", "postcss-value-parser": "^4.2.0" }, "bin": { @@ -1723,9 +1726,9 @@ } }, "node_modules/browserslist": { - "version": "4.23.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.2.tgz", - "integrity": "sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==", + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", "dev": true, "funding": [ { @@ -1742,9 +1745,9 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001640", - "electron-to-chromium": "^1.4.820", - "node-releases": "^2.0.14", + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", "update-browserslist-db": "^1.1.0" }, "bin": { @@ -1773,9 +1776,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001643", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001643.tgz", - "integrity": "sha512-ERgWGNleEilSrHM6iUz/zJNSQTP8Mr21wDWpdgvRwcTXGAq6jMtOUPP4dqFPTdKqZ2wKTdtB+uucZ3MRpAUSmg==", + "version": "1.0.30001651", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001651.tgz", + "integrity": "sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==", "dev": true, "funding": [ { @@ -1981,9 +1984,9 @@ "dev": true }, "node_modules/electron-to-chromium": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.2.tgz", - "integrity": "sha512-kc4r3U3V3WLaaZqThjYz/Y6z8tJe+7K0bbjUVo3i+LWIypVdMx5nXCkwRe6SWbY6ILqLdc1rKcKmr3HoH7wjSQ==", + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.5.tgz", + "integrity": "sha512-QR7/A7ZkMS8tZuoftC/jfqNkZLQO779SSW3YuZHP4eXpj3EffGLFcB/Xu9AAZQzLccTiCV+EmUo3ha4mQ9wnlA==", "dev": true }, "node_modules/emoji-regex": { @@ -2446,9 +2449,9 @@ "dev": true }, "node_modules/foreground-child": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz", - "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", "dev": true, "dependencies": { "cross-spawn": "^7.0.0", @@ -3230,9 +3233,9 @@ } }, "node_modules/postcss": { - "version": "8.4.40", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.40.tgz", - "integrity": "sha512-YF2kKIUzAofPMpfH6hOi2cGnv/HrUlfucspc7pDyvv7kGdqXrfj8SCl/t8owkEgKEuu8ZcRjSOxFxVLqwChZ2Q==", + "version": "8.4.41", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", + "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==", "dev": true, "funding": [ { @@ -3528,9 +3531,9 @@ } }, "node_modules/rollup": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.19.1.tgz", - "integrity": "sha512-K5vziVlg7hTpYfFBI+91zHBEMo6jafYXpkMlqZjg7/zhIG9iHqazBf4xz9AVdjS9BruRn280ROqLI7G3OFRIlw==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.20.0.tgz", + "integrity": "sha512-6rbWBChcnSGzIlXeIdNIZTopKYad8ZG8ajhl78lGRLsI2rX8IkaotQhVas2Ma+GPxJav19wrSzvRvuiv0YKzWw==", "dev": true, "dependencies": { "@types/estree": "1.0.5" @@ -3543,22 +3546,22 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.19.1", - "@rollup/rollup-android-arm64": "4.19.1", - "@rollup/rollup-darwin-arm64": "4.19.1", - "@rollup/rollup-darwin-x64": "4.19.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.19.1", - "@rollup/rollup-linux-arm-musleabihf": "4.19.1", - "@rollup/rollup-linux-arm64-gnu": "4.19.1", - "@rollup/rollup-linux-arm64-musl": "4.19.1", - "@rollup/rollup-linux-powerpc64le-gnu": "4.19.1", - "@rollup/rollup-linux-riscv64-gnu": "4.19.1", - "@rollup/rollup-linux-s390x-gnu": "4.19.1", - "@rollup/rollup-linux-x64-gnu": "4.19.1", - "@rollup/rollup-linux-x64-musl": "4.19.1", - "@rollup/rollup-win32-arm64-msvc": "4.19.1", - "@rollup/rollup-win32-ia32-msvc": "4.19.1", - "@rollup/rollup-win32-x64-msvc": "4.19.1", + "@rollup/rollup-android-arm-eabi": "4.20.0", + "@rollup/rollup-android-arm64": "4.20.0", + "@rollup/rollup-darwin-arm64": "4.20.0", + "@rollup/rollup-darwin-x64": "4.20.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.20.0", + "@rollup/rollup-linux-arm-musleabihf": "4.20.0", + "@rollup/rollup-linux-arm64-gnu": "4.20.0", + "@rollup/rollup-linux-arm64-musl": "4.20.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.20.0", + "@rollup/rollup-linux-riscv64-gnu": "4.20.0", + "@rollup/rollup-linux-s390x-gnu": "4.20.0", + "@rollup/rollup-linux-x64-gnu": "4.20.0", + "@rollup/rollup-linux-x64-musl": "4.20.0", + "@rollup/rollup-win32-arm64-msvc": "4.20.0", + "@rollup/rollup-win32-ia32-msvc": "4.20.0", + "@rollup/rollup-win32-x64-msvc": "4.20.0", "fsevents": "~2.3.2" } }, @@ -3825,9 +3828,9 @@ } }, "node_modules/tailwindcss": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.7.tgz", - "integrity": "sha512-rxWZbe87YJb4OcSopb7up2Ba4U82BoiSGUdoDr3Ydrg9ckxFS/YWsvhN323GMcddgU65QRy7JndC7ahhInhvlQ==", + "version": "3.4.9", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.9.tgz", + "integrity": "sha512-1SEOvRr6sSdV5IDf9iC+NU4dhwdqzF4zKKq3sAbasUWHEM6lsMhX+eNN5gkPx1BvLFEnZQEUFbXnGj8Qlp83Pg==", "dev": true, "dependencies": { "@alloc/quick-lru": "^5.2.0", @@ -3889,9 +3892,9 @@ } }, "node_modules/three": { - "version": "0.167.0", - "resolved": "https://registry.npmjs.org/three/-/three-0.167.0.tgz", - "integrity": "sha512-9Y1a66fpjqF3rhq7ivKTaKtjQLZ97Hj/lZ00DmZWaKHaQFH4uzYT1znwRDWQOcgMmCcOloQzo61gDmqO8l9xmA==" + "version": "0.167.1", + "resolved": "https://registry.npmjs.org/three/-/three-0.167.1.tgz", + "integrity": "sha512-gYTLJA/UQip6J/tJvl91YYqlZF47+D/kxiWrbTon35ZHlXEN0VOo+Qke2walF1/x92v55H6enomymg4Dak52kw==" }, "node_modules/to-fast-properties": { "version": "2.0.0", @@ -4015,13 +4018,13 @@ "dev": true }, "node_modules/vite": { - "version": "5.3.5", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.3.5.tgz", - "integrity": "sha512-MdjglKR6AQXQb9JGiS7Rc2wC6uMjcm7Go/NHNO63EwiJXfuk9PgqiP/n5IDJCziMkfw9n4Ubp7lttNwz+8ZVKA==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.0.tgz", + "integrity": "sha512-5xokfMX0PIiwCMCMb9ZJcMyh5wbBun0zUzKib+L65vAZ8GY9ePZMXxFrHbr/Kyll2+LSCY7xtERPpxkBDKngwg==", "dev": true, "dependencies": { "esbuild": "^0.21.3", - "postcss": "^8.4.39", + "postcss": "^8.4.40", "rollup": "^4.13.0" }, "bin": { @@ -4041,6 +4044,7 @@ "less": "*", "lightningcss": "^1.21.0", "sass": "*", + "sass-embedded": "*", "stylus": "*", "sugarss": "*", "terser": "^5.4.0" @@ -4058,6 +4062,9 @@ "sass": { "optional": true }, + "sass-embedded": { + "optional": true + }, "stylus": { "optional": true }, diff --git a/awangran-site/src/App.tsx b/awangran-site/src/App.tsx index 27cd686..d3aaae5 100644 --- a/awangran-site/src/App.tsx +++ b/awangran-site/src/App.tsx @@ -1,4 +1,4 @@ -import { useEffect } from 'react'; +import { useEffect, useRef } from 'react'; import './App.css'; import Aos from 'aos' import 'aos/dist/aos.css' @@ -10,7 +10,14 @@ function App() { duration:2000 }); }, []) - + + + const ref = useRef(null); + const handleClick = () => { + ref.current?.scrollIntoView({behavior: 'smooth'}); + }; + + return ( <> @@ -24,13 +31,14 @@ function App() {

      hi! im ash. i like cats and creating stuff.

      page under construction

      - +
-
-

about me

-

im a freshman comp sci student @ universidad de los andes. im into front-end development, quantum computing and electronics. i like doing hackathons and reading wuxia novels. i hope to learn more about cybersec and do more hardware projects.

in my free time i normally play violin, water plants, draw or cultivate to go beyond mortal limits.

- +
+
+

about me

+

im a freshman comp sci student @ universidad de los andes. im into front-end development, quantum computing and electronics. i like doing hackathons and reading wuxia novels. i hope to learn more about cybersec and do more hardware projects.

in my free time i normally play violin, water plants, draw or cultivate to go beyond mortal limits.

+
diff --git a/awangran-site/tsconfig.app.json b/awangran-site/tsconfig.app.json index d739292..2c47cf1 100644 --- a/awangran-site/tsconfig.app.json +++ b/awangran-site/tsconfig.app.json @@ -3,6 +3,7 @@ "composite": true, "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", "target": "ES2020", + "allowJs": true, "useDefineForClassFields": true, "lib": ["ES2020", "DOM", "DOM.Iterable"], "module": "ESNext",