{"version":3,"sources":["webpack:///./node_modules/countup.js/dist/countUp.min.js","webpack:///./app/javascript/packs/foundation.js"],"names":["t","Object","assign","i","n","s","arguments","length","a","prototype","hasOwnProperty","call","apply","this","endVal","options","version","defaults","startVal","decimalPlaces","duration","useEasing","useGrouping","useIndianSeparators","smartEasingThreshold","smartEasingAmount","separator","decimal","prefix","suffix","enableScrollSpy","scrollSpyDelay","scrollSpyOnce","finalEndVal","countDown","error","paused","once","count","startTime","remaining","frameVal","easingFn","Number","toFixed","printValue","rAF","requestAnimationFrame","update","onCompleteCallback","formatNumber","e","o","Math","abs","r","split","l","h","u","p","numerals","replace","easeOutExpo","pow","formattingFn","validateValue","max","resetDuration","String","el","document","getElementById","window","console","onScrollFns","push","handleScroll","onscroll","forEach","innerHeight","scrollY","getBoundingClientRect","top","pageYOffset","height","setTimeout","start","reset","determineDirectionAndSmartEasing","onStartCallback","pauseResume","cancelAnimationFrame","plugin","render","tagName","value","textContent","innerHTML","ensureNumber","isNaN","concat","library","add","faRocket","faPiggyBank","faAward","faBriefcase","faChartLine","faGlobeEurope","faChalkboardTeacher","faUserGraduate","faCheck","faCaretRight","faClipboardCheck","faUniversity","faSchool","faChartBar","faTasks","faCalculator","dom","watch","addEventListener","subNav","mainNav","querySelector","navLinks","getElementsByClassName","indicator","sections","querySelectorAll","placeholder","createElement","style","display","parentNode","insertBefore","activeLink","positionIndicator","isSticky","lastScroll","currentScroll","rect","placeholderRect","shouldBeSticky","position","left","zIndex","boxShadow","classList","remove","currentSection","section","sectionTop","offsetTop","sectionHeight","offsetHeight","getAttribute","Array","from","link","substring","preventDefault","targetId","scrollIntoView","behavior","counter1","CountUp","counter2","counter3","counter1Element","bottom","documentElement","clientHeight","right","innerWidth","clientWidth","removeEventListener","$","click","empty","append","element","width","offsetWidth","offsetLeft"],"mappings":"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","file":"js/foundation-9554941986a94de5753d.chunk.js","sourcesContent":["var t = function () {\n return t = Object.assign || function (t) {\n for (var i, n = 1, s = arguments.length; n < s; n++) for (var a in i = arguments[n]) Object.prototype.hasOwnProperty.call(i, a) && (t[a] = i[a]);\n return t;\n }, t.apply(this, arguments);\n },\n i = function () {\n function i(i, n, s) {\n var a = this;\n this.endVal = n, this.options = s, this.version = \"2.8.0\", this.defaults = {\n startVal: 0,\n decimalPlaces: 0,\n duration: 2,\n useEasing: !0,\n useGrouping: !0,\n useIndianSeparators: !1,\n smartEasingThreshold: 999,\n smartEasingAmount: 333,\n separator: \",\",\n decimal: \".\",\n prefix: \"\",\n suffix: \"\",\n enableScrollSpy: !1,\n scrollSpyDelay: 200,\n scrollSpyOnce: !1\n }, this.finalEndVal = null, this.useEasing = !0, this.countDown = !1, this.error = \"\", this.startVal = 0, this.paused = !0, this.once = !1, this.count = function (t) {\n a.startTime || (a.startTime = t);\n var i = t - a.startTime;\n a.remaining = a.duration - i, a.useEasing ? a.countDown ? a.frameVal = a.startVal - a.easingFn(i, 0, a.startVal - a.endVal, a.duration) : a.frameVal = a.easingFn(i, a.startVal, a.endVal - a.startVal, a.duration) : a.frameVal = a.startVal + (a.endVal - a.startVal) * (i / a.duration);\n var n = a.countDown ? a.frameVal < a.endVal : a.frameVal > a.endVal;\n a.frameVal = n ? a.endVal : a.frameVal, a.frameVal = Number(a.frameVal.toFixed(a.options.decimalPlaces)), a.printValue(a.frameVal), i < a.duration ? a.rAF = requestAnimationFrame(a.count) : null !== a.finalEndVal ? a.update(a.finalEndVal) : a.options.onCompleteCallback && a.options.onCompleteCallback();\n }, this.formatNumber = function (t) {\n var i,\n n,\n s,\n e,\n o = t < 0 ? \"-\" : \"\";\n i = Math.abs(t).toFixed(a.options.decimalPlaces);\n var r = (i += \"\").split(\".\");\n if (n = r[0], s = r.length > 1 ? a.options.decimal + r[1] : \"\", a.options.useGrouping) {\n e = \"\";\n for (var l = 3, h = 0, u = 0, p = n.length; u < p; ++u) a.options.useIndianSeparators && 4 === u && (l = 2, h = 1), 0 !== u && h % l == 0 && (e = a.options.separator + e), h++, e = n[p - u - 1] + e;\n n = e;\n }\n return a.options.numerals && a.options.numerals.length && (n = n.replace(/[0-9]/g, function (t) {\n return a.options.numerals[+t];\n }), s = s.replace(/[0-9]/g, function (t) {\n return a.options.numerals[+t];\n })), o + a.options.prefix + n + s + a.options.suffix;\n }, this.easeOutExpo = function (t, i, n, s) {\n return n * (1 - Math.pow(2, -10 * t / s)) * 1024 / 1023 + i;\n }, this.options = t(t({}, this.defaults), s), this.formattingFn = this.options.formattingFn ? this.options.formattingFn : this.formatNumber, this.easingFn = this.options.easingFn ? this.options.easingFn : this.easeOutExpo, this.startVal = this.validateValue(this.options.startVal), this.frameVal = this.startVal, this.endVal = this.validateValue(n), this.options.decimalPlaces = Math.max(this.options.decimalPlaces), this.resetDuration(), this.options.separator = String(this.options.separator), this.useEasing = this.options.useEasing, \"\" === this.options.separator && (this.options.useGrouping = !1), this.el = \"string\" == typeof i ? document.getElementById(i) : i, this.el ? this.printValue(this.startVal) : this.error = \"[CountUp] target is null or undefined\", \"undefined\" != typeof window && this.options.enableScrollSpy && (this.error ? console.error(this.error, i) : (window.onScrollFns = window.onScrollFns || [], window.onScrollFns.push(function () {\n return a.handleScroll(a);\n }), window.onscroll = function () {\n window.onScrollFns.forEach(function (t) {\n return t();\n });\n }, this.handleScroll(this)));\n }\n return i.prototype.handleScroll = function (t) {\n if (t && window && !t.once) {\n var i = window.innerHeight + window.scrollY,\n n = t.el.getBoundingClientRect(),\n s = n.top + window.pageYOffset,\n a = n.top + n.height + window.pageYOffset;\n a < i && a > window.scrollY && t.paused ? (t.paused = !1, setTimeout(function () {\n return t.start();\n }, t.options.scrollSpyDelay), t.options.scrollSpyOnce && (t.once = !0)) : (window.scrollY > a || s > i) && !t.paused && t.reset();\n }\n }, i.prototype.determineDirectionAndSmartEasing = function () {\n var t = this.finalEndVal ? this.finalEndVal : this.endVal;\n this.countDown = this.startVal > t;\n var i = t - this.startVal;\n if (Math.abs(i) > this.options.smartEasingThreshold && this.options.useEasing) {\n this.finalEndVal = t;\n var n = this.countDown ? 1 : -1;\n this.endVal = t + n * this.options.smartEasingAmount, this.duration = this.duration / 2;\n } else this.endVal = t, this.finalEndVal = null;\n null !== this.finalEndVal ? this.useEasing = !1 : this.useEasing = this.options.useEasing;\n }, i.prototype.start = function (t) {\n this.error || (this.options.onStartCallback && this.options.onStartCallback(), t && (this.options.onCompleteCallback = t), this.duration > 0 ? (this.determineDirectionAndSmartEasing(), this.paused = !1, this.rAF = requestAnimationFrame(this.count)) : this.printValue(this.endVal));\n }, i.prototype.pauseResume = function () {\n this.paused ? (this.startTime = null, this.duration = this.remaining, this.startVal = this.frameVal, this.determineDirectionAndSmartEasing(), this.rAF = requestAnimationFrame(this.count)) : cancelAnimationFrame(this.rAF), this.paused = !this.paused;\n }, i.prototype.reset = function () {\n cancelAnimationFrame(this.rAF), this.paused = !0, this.resetDuration(), this.startVal = this.validateValue(this.options.startVal), this.frameVal = this.startVal, this.printValue(this.startVal);\n }, i.prototype.update = function (t) {\n cancelAnimationFrame(this.rAF), this.startTime = null, this.endVal = this.validateValue(t), this.endVal !== this.frameVal && (this.startVal = this.frameVal, null == this.finalEndVal && this.resetDuration(), this.finalEndVal = null, this.determineDirectionAndSmartEasing(), this.rAF = requestAnimationFrame(this.count));\n }, i.prototype.printValue = function (t) {\n var i;\n if (this.el) {\n var n = this.formattingFn(t);\n if (null === (i = this.options.plugin) || void 0 === i ? void 0 : i.render) this.options.plugin.render(this.el, n);else if (\"INPUT\" === this.el.tagName) this.el.value = n;else \"text\" === this.el.tagName || \"tspan\" === this.el.tagName ? this.el.textContent = n : this.el.innerHTML = n;\n }\n }, i.prototype.ensureNumber = function (t) {\n return \"number\" == typeof t && !isNaN(t);\n }, i.prototype.validateValue = function (t) {\n var i = Number(t);\n return this.ensureNumber(i) ? i : (this.error = \"[CountUp] invalid start or end value: \".concat(t), null);\n }, i.prototype.resetDuration = function () {\n this.startTime = null, this.duration = 1e3 * Number(this.options.duration), this.remaining = this.duration;\n }, i;\n }();\nexport { i as CountUp };","import { library, dom } from '@fortawesome/fontawesome-svg-core'\nimport { CountUp } from 'countup.js';\nimport { \n faRocket, \n faPiggyBank, \n faAward, \n faBriefcase, \n faChartLine, \n faGlobeEurope, \n faChalkboardTeacher,\n faUserGraduate,\n faCheck,\n faCaretRight,\n faClipboardCheck,\n faUniversity,\n faSchool,\n faChartBar, // Added for grading section\n faTasks, // Added for initial assessment section\n faCalculator // Added for mathematics section\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faRocket, \n faPiggyBank, \n faAward, \n faBriefcase, \n faChartLine, \n faGlobeEurope,\n faChalkboardTeacher,\n faUserGraduate,\n faCheck,\n faCaretRight,\n faClipboardCheck,\n faUniversity,\n faSchool,\n faChartBar, // Added\n faTasks, // Added\n faCalculator // Added\n)\ndom.watch()\n\ndocument.addEventListener('DOMContentLoaded', function() {\n const subNav = document.getElementById('foundationSubNav');\n if (!subNav) return;\n\n const mainNav = document.querySelector('.navbar');\n const navLinks = subNav.getElementsByClassName('nav-link');\n const indicator = subNav.querySelector('.nav-indicator');\n const sections = document.querySelectorAll('section[id]');\n \n // Create a placeholder to prevent content jump\n const placeholder = document.createElement('div');\n placeholder.style.display = 'none';\n subNav.parentNode.insertBefore(placeholder, subNav);\n \n // Initial position of indicator\n const activeLink = subNav.querySelector('.nav-link.active');\n if (activeLink) positionIndicator(activeLink);\n\n // Sticky behavior\n let isSticky = false;\n let lastScroll = 0;\n\n window.addEventListener('scroll', () => {\n const currentScroll = window.pageYOffset;\n const rect = subNav.getBoundingClientRect();\n const placeholderRect = placeholder.getBoundingClientRect();\n const shouldBeSticky = rect.top <= 0;\n \n if (shouldBeSticky !== isSticky) {\n isSticky = shouldBeSticky;\n \n if (isSticky) {\n placeholder.style.display = 'block';\n placeholder.style.height = rect.height + 'px';\n subNav.style.position = 'fixed';\n subNav.style.top = '0';\n subNav.style.left = rect.left + 'px';\n subNav.style.zIndex = '1029';\n subNav.style.boxShadow = '0 2px 4px rgba(0,0,0,0.1)';\n mainNav.classList.add('slide-up');\n }\n }\n\n // Check if we should unstick\n if (placeholderRect.top > 0) {\n isSticky = false;\n placeholder.style.display = 'none';\n subNav.style.position = '';\n subNav.style.top = '';\n subNav.style.left = '';\n subNav.style.zIndex = '';\n subNav.style.boxShadow = '';\n mainNav.classList.remove('slide-up');\n }\n\n // Handle scroll direction for main nav\n if (currentScroll < lastScroll && placeholderRect.top > 0) {\n mainNav.classList.remove('slide-up');\n }\n \n lastScroll = currentScroll;\n \n // Update active section while scrolling\n let currentSection = '';\n sections.forEach(section => {\n const sectionTop = section.offsetTop - 100;\n const sectionHeight = section.offsetHeight;\n if (currentScroll >= sectionTop && currentScroll < sectionTop + sectionHeight) {\n currentSection = section.getAttribute('id');\n }\n });\n \n Array.from(navLinks).forEach(link => {\n link.classList.remove('active');\n if (link.getAttribute('href').substring(1) === currentSection) {\n link.classList.add('active');\n positionIndicator(link);\n }\n });\n });\n\n // Smooth scroll\n Array.from(navLinks).forEach(link => {\n link.addEventListener('click', (e) => {\n e.preventDefault();\n const targetId = link.getAttribute('href');\n const targetSection = document.querySelector(targetId);\n targetSection.scrollIntoView({ behavior: 'smooth' });\n });\n });\n\n // Position indicator function\n function positionIndicator(element) {\n indicator.style.width = `${element.offsetWidth}px`;\n indicator.style.left = `${element.offsetLeft}px`;\n }\n\n // Add CountUp initialization\n const options = {\n duration: 2.5,\n useEasing: true,\n useGrouping: false,\n };\n\n const counter1 = new CountUp('counter1', 100, options);\n const counter2 = new CountUp('counter2', 91, options);\n const counter3 = new CountUp('counter3', 60, options);\n\n // Function to check if element is in viewport\n const isElementInViewport = (el) => {\n const rect = el.getBoundingClientRect();\n return (\n rect.top >= 0 &&\n rect.left >= 0 &&\n rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&\n rect.right <= (window.innerWidth || document.documentElement.clientWidth)\n );\n };\n\n // Function to start animation when elements are visible\n const handleScroll = () => {\n const counter1Element = document.getElementById('counter1');\n if (counter1Element && isElementInViewport(counter1Element)) {\n counter1.start();\n counter2.start();\n counter3.start();\n // Remove scroll listener once animation has started\n window.removeEventListener('scroll', handleScroll);\n }\n };\n\n // Add scroll listener\n window.addEventListener('scroll', handleScroll);\n // Check initial state\n handleScroll();\n\n $('.nurazreen-vid').click(function () {\n $(this).empty()\n $(this).append('')\n });\n $('.er-hao-vid').click(function () {\n $(this).empty()\n $(this).append('')\n });\n}); "],"sourceRoot":""}