{"version":3,"sources":["jsdelivr-header.js","/npm/@kumaardesign/portfolio2024@1.0.7/src/script.js"],"names":[],"mappings":"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","file":"/npm/@kumaardesign/portfolio2024@1.0.7/src/script.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@kumaardesign/portfolio2024@1.0.7/src/script.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","import { gsap } from \"gsap\";\n    \nimport { ScrollTrigger } from \"gsap/ScrollTrigger\";\nimport SplitType from \"split-type\";\nimport Lenis from 'lenis'\n\n\ngsap.registerPlugin(ScrollTrigger);\nwindow.Webflow ||= [];\nwindow.Webflow.push(() => {\n// Select the button and menu elements by their data attributes\nconst navMenuBtnOpen = document.querySelector('[custom=\"menuBtnOpen\"]');\nconst navMenuBtnClose = document.querySelector('[custom=\"menuBtnClose\"]');\nconst navMenuOpen = document.querySelector('[custom=\"navMenuOpen\"]');\nconst navMenuConentOpen = document.querySelectorAll('[custom=\"navMenuConentOpen\"] ');\nconst navMenuLine = document.querySelectorAll('[custom=\"navMenuLine\"]');\nconst navMenuLinever = document.querySelectorAll('[custom=\"navMenuLineVer\"]');\nconst navMenuLinks = document.querySelectorAll('[words-rotate-in]');\nconst words = document.querySelectorAll('[words-rotate-in]> .word');\nconst navmenu =document.querySelector('.nav_wrap')\nconst navmenuButtons =document.querySelector('.nav_menu_link')\n\n// let menuOpen = false; // Flag to track if the menu is open\nlet tl = gsap.timeline();\n// Add the event listener for 'click' event\n function eventOpen() {\n  \n    tl.to (navMenuBtnOpen, {opacity:0, display:\"none\"},\"-=.5\");\n    \n    tl.fromTo(navMenuOpen,{clipPath: \"polygon(20% 0%, 20% 0%, 20% 100%, 40% 100%, 40% 0%, 40% 0%, 40% 100%, 60% 100%, 60% 0%, 60% 0%, 60% 100%, 80% 100%, 80% 0%, 80% 0%, 80% 100%, 100% 100%, 100% 0%, 100% 0%, 100% 100%, 20% 100%)\",opacity:\"0%\",display:\"none\"} ,{clipPath: 'polygon(0% 0%, 20% 0%, 20% 100%, 20% 100%, 20% 0%, 40% 0%, 40% 100%, 40% 100%, 40% 0%, 60% 0%, 60% 100%, 60% 100%, 60% 0%, 80% 0%, 80% 100%, 80% 100%, 80% 0%, 100% 0%, 100% 100%, 0% 100%)',opacity:\"100%\", display:\"block\",duration: 1},\"-=.2\");\n    // tl.to(navMenuOpen, {clipPath: 'polygon(0% 0%, 20% 0%, 20% 100%, 20% 100%, 20% 0%, 40% 0%, 40% 100%, 40% 100%, 40% 0%, 60% 0%, 60% 100%, 60% 100%, 60% 0%, 80% 0%, 80% 100%, 80% 100%, 80% 0%, 100% 0%, 100% 100%, 0% 100%)',opacity:\"100%\", display:\"block\",duration: 1},\"-=1\");\n    tl.to(navMenuBtnClose, {opacity:1, display:\"block\"},\"-=.7\");\n    tl.to(navmenu,{mixBlendMode:\"normal\"},'-=2');\n    tl.to(navMenuLine, {width:\"100%\",duration: 1, stagger:.25},'-=.2');\n    tl.to(navMenuLinever, {height:\"100%\",duration: 1},'-=1');\n    tl.to(navMenuConentOpen, {y: \"0%\", duration: 0.3,ease: \"power1.out\",opacity:\"100%\", stagger:.25},'-=1');\n     navMenuLinks.forEach(link => {\n      tl.to(words, {rotationX: 0, opacity:\"100%\",duration: 0.6, ease: \"power2.out\", stagger:  0.1 },'-=.90' );\n     });\n\n}\n\n function eventClose() {\n  tl.kill();\n  tl.clear();\n\n    tl.fromTo(words, {rotationX: 0, opacity:\"100%\",duration: 0.6, ease: \"power2.out\", stagger:  0.1 },{rotationX: 90, opacity:\"0%\",duration: 0.3, ease: \"sine.inout\", stagger:  .3 },'-=.2');\n    tl.to(navMenuConentOpen, {y: \"-120%\", duration: 0.8,ease: \"power1.out\",opacity:\"0%\", stagger:{amount: 0.7}},'-=.2');\n    tl.to(navMenuLine, {width:\"0%\", stagger:.25}, '-=1');\n    tl.to(navMenuLinever, {height:\"0%\"}, '-=1');\n    tl.to(navMenuBtnClose, {opacity: 0,display:\"none\"},\"-=.2\");\n    tl.to(navMenuOpen, { clipPath: \"polygon(20% 0%, 20% 0%, 20% 100%, 40% 100%, 40% 0%, 40% 0%, 40% 100%, 60% 100%, 60% 0%, 60% 0%, 60% 100%, 80% 100%, 80% 0%, 80% 0%, 80% 100%, 100% 100%, 100% 0%, 100% 0%, 100% 100%, 20% 100%)\",duration: .8},\"-=.4\"); // Move it back up\n    tl.to (navMenuBtnOpen, {opacity:1, display:\"block\"},'-=.3');\n    // tl.to(navmenu,{mixBlendMode:\"difference\"}),'-=1';\n\n}\nnavMenuBtnOpen.addEventListener(\"click\", eventOpen)\nnavMenuBtnClose.addEventListener(\"click\", eventClose)\nnavmenuButtons.addEventListener(\"click\", eventClose)\n\n//button hover 2\n$(\"[data-btn='wrap']\").each(function () {\n\n    const clipEl = $(this).find(\"[data-btn='clip']\").attr(\"aria-hidden\", \"true\");\n    const durationSetting = 0.4;\n    const easeSetting = \"power2.out\";\n  \n    function getPercentTop(el, e) {\n      let elTop = el.offset().top - $(window).scrollTop();\n      let mouseTop = e.pageY - $(window).scrollTop() - elTop;\n      return (mouseTop / el.innerHeight()) * 100;\n    }\n    function getPercentLeft(el, e) {\n      let elLeft = el.offset().left;\n      let mouseLeft = e.pageX - elLeft;\n      return (mouseLeft / el.innerWidth()) * 100;\n    }\n    $(this).on(\"mouseenter\", function (e) {\n      let percentTop = getPercentTop($(this), e);\n      let percentLeft = getPercentLeft($(this), e);\n      gsap.set(clipEl, { display: \"flex\" });\n      gsap.fromTo(clipEl, { clipPath: `circle(0% at ${percentLeft}% ${percentTop}%)` }, { clipPath: `circle(141.4% at ${percentLeft}% ${percentTop}%)`, duration: durationSetting, ease: easeSetting });\n    });\n    $(this).on(\"mouseleave\", function (e) {\n      let percentTop = getPercentTop($(this), e);\n      let percentLeft = getPercentLeft($(this), e);\n      gsap.to(clipEl, { clipPath: `circle(0% at ${percentLeft}% ${percentTop}%)`, overwrite: true, duration: durationSetting, ease: easeSetting });\n    });\n  });\n\n//portfolio cases animation on hover\n$(\"[portfolio-cases]\").each(function (index) {\nlet portfolioCasesSlides = $(this).find('[portfolio-cases-slides]');\nlet portfolioCasesImg = $(this).find('[portfolio-case-img]');\nconst durationSetting = 1.4;\nconst easeSetting = \"power2.out\";\n\nlet tl = gsap.timeline({ paused: true });\n\ntl.to (portfolioCasesSlides, {borderColor: '#ffffff',duration: '.5',ease: easeSetting})\n.to (portfolioCasesImg, {transform: \"scale(1.1)\", ease: easeSetting, duration: durationSetting}, '-=.5');\n\n$(this).on(\"mouseenter\", function () {\n  tl.play();\n  tl.duration(1.2);\n});\n$(this).on(\"mouseleave\", function () {\ntl.reverse();\ntl.duration(.9);\n});\n\n});\n\n//start of smooth scroll for pages linis scroll\nlet lenis;\nif (Webflow.env(\"editor\") === undefined) {\n  lenis = new Lenis({\n    lerp: 0.1,\n    wheelMultiplier: .9,\n    gestureOrientation: \"vertical\",\n    normalizeWheel: false,\n    smoothTouch: false\n  });\n  function raf(time) {\n    lenis.raf(time);\n    requestAnimationFrame(raf);\n  }\n  requestAnimationFrame(raf);\n}\n$(\"[data-lenis-start]\").on(\"click\", function () {\n  lenis.start();\n});\n$(\"[data-lenis-stop]\").on(\"click\", function () {\n  lenis.stop();\n});\n$(\"[data-lenis-toggle]\").on(\"click\", function () {\n  $(this).toggleClass(\"stop-scroll\");\n  if ($(this).hasClass(\"stop-scroll\")) {\n    lenis.stop();\n  } else {\n    lenis.start();\n  }\n});\n\n//start of all paragraph text element aniamtion\n  // Link timelines to scroll position\n  function createScrollTrigger(triggerElement, timeline) {\n    // Reset tl when scroll out of view past bottom of screen\n    ScrollTrigger.create({\n      trigger: triggerElement,\n      start: \"top bottom\",\n      onLeaveBack: () => {\n        timeline.progress(0);\n        timeline.pause();\n      }\n    });\n    // Play tl when scrolled into view (60% from top of screen)\n    ScrollTrigger.create({\n      trigger: triggerElement,\n      start: \"top 85%\",\n      onEnter: () => timeline.play()\n    });\n  }\n  const imgSlideUp = \"[img-slide-up]\";\n  const textRotateIn = \"[text-rotate-in]\";\n  const accentsAnimation = \"[accents-animation]\";\n  const globalButtonSlide = \"[global-button-slide]\";\n  \n  $(textRotateIn).each(function (index) {\n    let tl = gsap.timeline({ \n      paused: true,\n      defaults:{\n        paddingBottom: \"0.1em\",\n        marginBottom: \"-0.1em\",\n        transformOrigin: \"bottom\",\n      }\n     });\n    tl.set($(this).find(\".word\"), { transformPerspective: 1000 });\n    tl.from($(this).find(imgSlideUp), { height:\"0px\", duration: 1, ease: \"power2.out\"});\n    tl.from($(this).find(\".word\"), { filter:\"blur:7px\",opacity:0, rotationX: -90, duration: .5, ease: \"power2.out\",stagger:{amount:\"1.3\"}},\"-=.3\" );\n    tl.from($(this).find(accentsAnimation), { width:\"0px\", duration: .5, ease: \"power2.out\"}, \"-=1\");\n    tl.from($(this).find(globalButtonSlide), { opacity: 0 ,x: -20, duration: 1, ease: \"power2.out\"},\"-=.5\");\n    \n    \n    createScrollTrigger($(this), tl);\n  });\n  \n  \n  const charsWrapper = document.querySelectorAll('[char-animation-wrapper]');\n  $(charsWrapper).each(function (index) {\n    let tl = gsap.timeline({ paused: true,});\n     tl.from($(this).find(\".char\"), {x: -30, clipPath: \"inset(0% 100% 120% -5%)\"}, {x: 0, duration: 4, stagger: 0.9,yPercent: 0,clipPath: \"inset(0% -100% -200% -5%)\",overwrite: true});\n\n\n     createScrollTrigger($(this), tl);\n    });\n\n\n\n\n\n\n\n//main end point\n});\n//main end point\n\n\n\n\n\n\n"]}