{"version":3,"sources":["20220822Bonus_functions.js"],"names":["test","navigator","userAgent","document","body","classList","add","global","factory","exports","_typeof","module","define","amd","Lengthy","this","els","$","map","el","i","length","getLength","style","setProperty","getValue","a","baseVal","value","distance","x1","y1","x2","y2","dx","dy","Math","sqrt","getTotalLength","SVGUseElement","querySelector","href","width","height","r","PI","rx","ry","points","p","getAttribute","split","d","l","SVGPolygonElement","parent","Array","prototype","slice","call","nodeName","querySelectorAll","scroll","window","requestAnimationFrame","showOnScroll","forEach","getBoundingClientRect","top","innerHeight"],"mappings":"sNAII,aAAaA,KAAKC,UAAUC,YAC9BC,SAASC,KAAKC,UAAUC,IAAI,QAI7B,SAAUC,EAAQC,GAGC,YAAnB,oBAAOC,QAAP,YAAAC,QAAOD,WAA0C,oBAAXE,OAAyBA,OAAOF,QAAUD,IAG9D,mBAAXI,QAAyBA,OAAOC,IAAMD,OAAOJ,GAGnDD,EAAOO,QAAUN,IATlB,CAYCO,KAAO,WAAc,aAMvB,SAASD,EAAQE,GAGf,OAAOC,EAAED,GAAKE,IAAI,SAASC,EAAIC,GAG7B,IAAIC,EAASC,EAAUH,GASvB,OANAA,EAAGd,UAAUC,IAAI,WAGjBa,EAAGI,MAAMC,YAAY,gBAAiBH,GAG/B,CAGLF,GAAIA,EAGJE,OAAQA,KAed,SAASI,EAASC,GAGhB,OAAOA,EAAEC,QAAUD,EAAEC,QAAQC,OAASF,EAAEC,QAAUD,EASpD,SAASG,EAASC,EAAIC,EAAIC,EAAIC,GAG5B,IAAIC,EAAKJ,EAAKE,EAGVG,EAAKJ,EAAKE,EAGd,OAAOG,KAAKC,KAAKH,EAAKA,EAAKC,EAAKA,GASlC,SAASb,EAAUH,GAGjB,IAAKA,EAGH,OAAO,EAST,GAAIA,EAAGmB,eAGL,OAAOnB,EAAGmB,iBASZ,GAAInB,aAAcoB,cAGhB,OAAOjB,EAAUnB,SAASqC,cAAcf,EAASN,EAAGsB,QAStD,GAAItB,EAAGuB,MAGL,OAA4B,EAArBjB,EAASN,EAAGuB,OAAmC,EAAtBjB,EAASN,EAAGwB,QAS9C,GAAIxB,EAAGW,GAGL,OAAOD,EAGLJ,EAASN,EAAGW,IAGZL,EAASN,EAAGY,IAGZN,EAASN,EAAGa,IAGZP,EAASN,EAAGc,KAYhB,GAAId,EAAGyB,EAGL,OAAO,EAAIR,KAAKS,GAAKpB,EAASN,EAAGyB,GASnC,GAAIzB,EAAG2B,IAAM3B,EAAG4B,GAAI,CASlB,IAAID,EAAKrB,EAASN,EAAG2B,IAGjBC,EAAKtB,EAASN,EAAG4B,IAGrB,OAAOX,KAAKS,IAAM,GAAKC,EAAKC,GAAMX,KAAKC,MAAM,EAAIS,EAAKC,IAAOD,EAAK,EAAIC,KASxE,GAAI5B,EAAG6B,OAAQ,CAeb,IAZA,IAAIC,EAAI9B,EAAG+B,aAAa,UAAUC,MAAM,UAGpCC,EAAI,EAGNhC,EAAI,EAGJiC,EAAIJ,EAAE5B,OAAS,EAGVD,EAAIiC,EAAGjC,GAAK,EAGjBgC,GAAKvB,EAASoB,EAAE7B,GAAI6B,EAAE7B,EAAI,GAAI6B,EAAE7B,EAAI,GAAI6B,EAAE7B,EAAI,IAehD,OATID,aAAcmC,oBAGhBF,GAAKvB,EAASoB,EAAE7B,GAAI6B,EAAE7B,EAAI,GAAI6B,EAAE,GAAIA,EAAE,KAMjCG,EAMT,OAAO,EAeT,SAASnC,EAAED,EAAKuC,GAGd,OAAOC,MAAMC,UAAUC,MAAMC,KAG3B3C,EAAI4C,SAGA,CAAC5C,GAGDA,EAAI,GAAG4C,SAAW5C,EAAMb,SAAS0D,iBAAiB7C,GAGtD,GAeJ,OApCAF,EAAQQ,UAAYA,EA8BpBR,EAAQG,EAAIA,EAMLH,IAoBPA,QAAQ,cAOR,IAAMgD,OAASC,OAAOC,sBAEtB,SAASC,eACO9D,SAAS0D,iBAAiB,iBAElCK,QAAS,SAAC/C,GACKA,EAAGgD,wBAAwBC,IAC7BL,OAAOM,YAAc,KAGpClD,EAAGd,UAAUC,IAAI,mBAIrBwD,OAAOG,cAGTA","file":"20220822Bonus_functions.min.js","sourcesContent":["//\r\n// =MS EDGE?\r\n// --------------------------------------------------\r\n\r\nif (/Edge\\/\\d./i.test(navigator.userAgent)){\r\n document.body.classList.add('edge')\r\n}\r\n\r\n\r\n(function (global, factory) {\n\r\n\r\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\r\n\r\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\r\n\r\n\t(global.Lengthy = factory());\n\r\n\r\n}(this, (function () { 'use strict';\n\r\n\r\n\n\r\n\r\nfunction Lengthy(els) {\n\r\n\r\n return $(els).map(function(el, i) {\n\r\n\r\n var length = getLength(el);\n\r\n\r\n el.classList.add(\"lengthy\");\n\r\n\r\n el.style.setProperty(\"--path-length\", length);\n\r\n\r\n return {\n\r\n\r\n el: el,\n\r\n\r\n length: length\n\r\n\r\n };\n\r\n\r\n });\n\r\n\r\n}\n\r\n\r\n\n\r\n\r\nfunction getValue(a) {\n\r\n\r\n return a.baseVal ? a.baseVal.value || a.baseVal : a;\n\r\n\r\n}\n\r\n\r\n\n\r\n\r\nfunction distance(x1, y1, x2, y2) {\n\r\n\r\n var dx = x1 - x2;\n\r\n\r\n var dy = y1 - y2;\n\r\n\r\n return Math.sqrt(dx * dx + dy * dy);\n\r\n\r\n}\n\r\n\r\n\n\r\n\r\nfunction getLength(el) {\n\r\n\r\n if (!el) {\n\r\n\r\n return false;\n\r\n\r\n }\n\r\n\r\n // or any SVG element in SVG2 supporting browsers\n\r\n\r\n if (el.getTotalLength) {\n\r\n\r\n return el.getTotalLength();\n\r\n\r\n }\n\r\n\r\n // \n\r\n\r\n if (el instanceof SVGUseElement) {\n\r\n\r\n return getLength(document.querySelector(getValue(el.href)));\n\r\n\r\n }\n\r\n\r\n // \n\r\n\r\n if (el.width) {\n\r\n\r\n return getValue(el.width) * 2 + getValue(el.height) * 2;\n\r\n\r\n }\n\r\n\r\n // \n\r\n\r\n if (el.x1) {\n\r\n\r\n return distance(\n\r\n\r\n getValue(el.x1),\n\r\n\r\n getValue(el.y1),\n\r\n\r\n getValue(el.x2),\n\r\n\r\n getValue(el.y2)\n\r\n\r\n );\n\r\n\r\n }\n\r\n\r\n // \n\r\n\r\n if (el.r) {\n\r\n\r\n return 2 * Math.PI * getValue(el.r);\n\r\n\r\n }\n\r\n\r\n // \n\r\n\r\n if (el.rx && el.ry) {\n\r\n\r\n // Ramanujan ellipse circumference approximation\n\r\n\r\n // Thanks to https://twitter.com/jhnsnc\n\r\n\r\n var rx = getValue(el.rx);\n\r\n\r\n var ry = getValue(el.ry);\n\r\n\r\n return Math.PI * (3 * (rx + ry) - Math.sqrt((3 * rx + ry) * (rx + 3 * ry)));\n\r\n\r\n }\n\r\n\r\n // and \n\r\n\r\n if (el.points) {\n\r\n\r\n var p = el.getAttribute(\"points\").split(/[\\s,]+/);\n\r\n\r\n var d = 0,\n\r\n\r\n i = 0,\n\r\n\r\n l = p.length - 2;\n\r\n\r\n for (; i < l; i += 2) {\n\r\n\r\n d += distance(p[i], p[i + 1], p[i + 2], p[i + 3]);\n\r\n\r\n }\n\r\n\r\n if (el instanceof SVGPolygonElement) {\n\r\n\r\n d += distance(p[i], p[i + 1], p[0], p[1]);\n\r\n\r\n }\n\r\n\r\n return d;\n\r\n\r\n }\n\r\n\r\n return false;\n\r\n\r\n}\n\r\n\r\n\n\r\n\r\nLengthy.getLength = getLength;\n\r\n\r\n\n\r\n\r\nfunction $(els, parent) {\n\r\n\r\n return Array.prototype.slice.call(\n\r\n\r\n els.nodeName\n\r\n\r\n ? [els]\n\r\n\r\n : els[0].nodeName ? els : document.querySelectorAll(els),\n\r\n\r\n 0\n\r\n\r\n );\n\r\n\r\n}\n\r\n\r\nLengthy.$ = $;\n\r\n\r\n\n\r\n\r\nreturn Lengthy;\n\r\n\r\n\n\r\n\r\n})));\n\r\n\r\n\r\n\r\n\r\n// ANIMATED SVG'S\r\n// FADE-IN-UP ELEMENTS ON SCROLL\r\n\r\n\r\n//\r\n// =ANIMATED SVG'S\r\n// --------------------------------------------------\r\n\r\nLengthy('.msdw-path');\r\n\r\n\r\n//\r\n// =FADE-IN-UP ELEMENTS ON SCROLL\r\n// --------------------------------------------------\r\n\r\nconst scroll = window.requestAnimationFrame;\r\n\r\nfunction showOnScroll() {\r\n const elems = document.querySelectorAll('.msdw-animate');\r\n\r\n elems.forEach( (el) => {\r\n const elPosition = el.getBoundingClientRect().top\r\n const elScreen = window.innerHeight / 1.1\r\n\r\n if (elPosition < elScreen) {\r\n el.classList.add('msdw-animated')\r\n }\r\n });\r\n\r\n scroll(showOnScroll);\r\n}\r\n\r\nshowOnScroll();\r\n"]}