{"version":3,"file":"integrations.js","mappings":"CAAA,SAA2CA,EAAMC,GAChD,GAAsB,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,SACb,GAAqB,mBAAXG,QAAyBA,OAAOC,IAC9CD,OAAO,GAAIH,OACP,CACJ,IAAIK,EAAIL,IACR,IAAI,IAAIM,KAAKD,GAAuB,iBAAZJ,QAAuBA,QAAUF,GAAMO,GAAKD,EAAEC,EACvE,CACA,CATD,CASGC,MAAM,I,gLCTHC,EAAAA,WACJ,WAAYC,I,4FAAW,SACrBF,KAAKE,UAAYA,EACjBF,KAAKG,SAAWD,EAAUE,iBACxB,oCAEFJ,KAAKK,QAAUH,EAAUE,iBAAiB,8BAC1CJ,KAAKM,uBAAyBJ,EAAUK,cACtC,wCAEFP,KAAKQ,yBAA2BN,EAAUE,iBACxC,yCAIFJ,KAAKS,uBACLC,OAAOC,iBAAiB,SAAUX,KAAKS,qBAAqBG,KAAKZ,MAClE,C,2DAED,WACMU,OAAOG,YAAc,IACvBb,KAAKc,qBAELd,KAAKe,uBACLf,KAAKgB,eACLhB,KAAKiB,yBAER,G,+BAED,WAAoB,WAClBjB,KAAKG,SAASe,SAAQ,SAACC,EAASC,GACzBD,EAAQE,QAAQC,eACnBH,EAAQR,iBAAiB,SAAS,kBAAM,EAAKY,aAAaH,EAAxB,IAClCD,EAAQE,QAAQC,aAAe,OAG/B,EAAKjB,QAAQe,GAAOI,aAAa,gBAAiB,SAErD,GACF,G,kCAED,WAAuB,WACrBxB,KAAKG,SAASe,SAAQ,SAACC,EAASC,GAC1BD,EAAQE,QAAQC,eAClBH,EAAQM,oBAAoB,SAAS,kBAAM,EAAKF,aAAaH,EAAxB,IACrCD,EAAQE,QAAQC,aAAe,QAElC,GACF,G,0BAED,WAEEtB,KAAKK,QAAQa,SAAQ,SAACQ,GACpBA,EAAOC,UAAUC,OAAO,UACxBF,EAAOG,gBAAgB,gBACxB,GACF,G,0BAED,SAAaT,GACX,IAAMM,EAAS1B,KAAKK,QAAQe,GACtBU,EAAWJ,EAAOC,UAAUI,OAAO,UACzCL,EAAOF,aAAa,gBAAiBM,EAAW,OAAS,QAC1D,G,oCAED,WACE,IAAME,EAAiBhC,KAAKM,uBAAuB2B,YAG7CC,GAFelC,KAAKQ,yBAAyB,GAAGyB,YAIhDE,EAAMH,EAGZhC,KAAKE,UAAUkC,MAAMC,YACnB,2CADF,UAEKH,EAFL,OAIAlC,KAAKE,UAAUkC,MAAMC,YACnB,yCADF,UAEKF,EAFL,OAKAnC,KAAKQ,yBAAyBU,SAAQ,SAACoB,GAErC,IAAMC,EAA+B,IAAhBC,KAAKC,SAEpBC,EAAiB,GAAqB,GAAhBF,KAAKC,SAE3BE,EAA+B,GAAhBH,KAAKC,SAG1BH,EAAQF,MAAMQ,eAAd,UAAkCL,EAAlC,KACAD,EAAQF,MAAMS,kBAAd,UAAqCH,EAArC,KACAJ,EAAQF,MAAMU,OAAd,UAA0BH,EAA1B,IACD,GACF,M,gFA/FG1C,G,OAkGN8C,SAAS3C,iBAAiB,uBAAuBc,SAAQ,SAAChB,GACxD,IAAID,EAAaC,EAClB,I","sources":["webpack://octopus.public.web/webpack/universalModuleDefinition","webpack://octopus.public.web/./Assets/js/integrations.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse {\n\t\tvar a = factory();\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(this, () => {\nreturn ","class Integrations {\n constructor(component) {\n this.component = component;\n this.triggers = component.querySelectorAll(\n \"[data-integrations-dropdown-btn]\"\n );\n this.columns = component.querySelectorAll(\"[data-integrations-column]\");\n this.animationStripeElement = component.querySelector(\n \"[data-integrations-animation-stripe]\"\n );\n this.animationEllipseElements = component.querySelectorAll(\n \"[data-integrations-animation-ellipse]\"\n );\n\n // Handle window resizing and initial setup\n this.updateEventListeners();\n window.addEventListener(\"resize\", this.updateEventListeners.bind(this));\n }\n\n updateEventListeners() {\n if (window.innerWidth <= 991) {\n this.addEventListeners();\n } else {\n this.removeEventListeners();\n this.resetColumns();\n this.setAnimationProperties();\n }\n }\n\n addEventListeners() {\n this.triggers.forEach((trigger, index) => {\n if (!trigger.dataset.hasListeners) {\n trigger.addEventListener(\"click\", () => this.toggleColumn(index));\n trigger.dataset.hasListeners = \"true\";\n\n // Initialize aria-expanded as false when listeners are added\n this.columns[index].setAttribute(\"aria-expanded\", \"false\");\n }\n });\n }\n\n removeEventListeners() {\n this.triggers.forEach((trigger, index) => {\n if (trigger.dataset.hasListeners) {\n trigger.removeEventListener(\"click\", () => this.toggleColumn(index));\n trigger.dataset.hasListeners = \"false\";\n }\n });\n }\n\n resetColumns() {\n // Remove active class and aria-expanded attribute from all columns on desktop\n this.columns.forEach((column) => {\n column.classList.remove(\"active\");\n column.removeAttribute(\"aria-expanded\");\n });\n }\n\n toggleColumn(index) {\n const column = this.columns[index];\n const isActive = column.classList.toggle(\"active\");\n column.setAttribute(\"aria-expanded\", isActive ? \"true\" : \"false\");\n }\n\n setAnimationProperties() {\n const containerWidth = this.animationStripeElement.offsetWidth;\n const ellipseWidth = this.animationEllipseElements[0].offsetWidth;\n // Start off-screen\n const start = -ellipseWidth;\n // End off-screen\n const end = containerWidth;\n\n // Set CSS variables\n this.component.style.setProperty(\n \"--integrations-animation-start-translate\",\n `${start}px`\n );\n this.component.style.setProperty(\n \"--integrations-animation-end-translate\",\n `${end}px`\n );\n\n this.animationEllipseElements.forEach((ellipse) => {\n // Randomize animation delay between -15s and 0s\n const randomDelay = -Math.random() * 15;\n // Randomize animation duration between 10s and 20s\n const randomDuration = 10 + Math.random() * 10;\n // Randomize vertical position between 0% and 50%\n const randomBottom = Math.random() * 50;\n\n // Set inline styles with the random values\n ellipse.style.animationDelay = `${randomDelay}s`;\n ellipse.style.animationDuration = `${randomDuration}s`;\n ellipse.style.bottom = `${randomBottom}%`;\n });\n }\n}\n\ndocument.querySelectorAll(\"[data-integrations]\").forEach((component) => {\n new Integrations(component);\n});\n"],"names":["root","factory","exports","module","define","amd","a","i","this","Integrations","component","triggers","querySelectorAll","columns","animationStripeElement","querySelector","animationEllipseElements","updateEventListeners","window","addEventListener","bind","innerWidth","addEventListeners","removeEventListeners","resetColumns","setAnimationProperties","forEach","trigger","index","dataset","hasListeners","toggleColumn","setAttribute","removeEventListener","column","classList","remove","removeAttribute","isActive","toggle","containerWidth","offsetWidth","start","end","style","setProperty","ellipse","randomDelay","Math","random","randomDuration","randomBottom","animationDelay","animationDuration","bottom","document"],"sourceRoot":""}