{"version":3,"file":"../scripts.js","names":["scrollJob","gtmset","currentScrollBehavior","mainHeader","document","querySelector","body","style","setProperty","clientHeight","smootherQuery","window","matchMedia","scroll_if_anchor","href","indexOf","targetElement","getElementById","substring","hasAttribute","getAttribute","backlink","openDialog","manageCurrentTarget","getParents","forEach","parent","scrollIntoView","behavior","history","pushState","title","location","pathname","search","clickEvent","Event","parentElement","classList","contains","id","dispatchEvent","hidden","previousElementSibling","navSiblings","querySelectorAll","navSibling","value","el","parentSelector","undefined","parents","p","parentNode","o","push","addEventListener","mediaQuery","matches","tables","table","theadsTitles","innerText","b","length","cell","setAttribute","bodyMain","event","closestLink","target","closest","hash","split","dialogCloseButtons","closeButton","closeDialog","this","scrollmax","aria","KeyCode","BACKSPACE","TAB","RETURN","ESC","SPACE","PAGE_UP","PAGE_DOWN","END","HOME","LEFT","UP","RIGHT","DOWN","DELETE","Utils","element","selector","Element","prototype","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","s","i","item","remove","removeChild","isFocusable","tabIndex","disabled","nodeName","rel","type","getAncestorBySelector","tagName","currentNode","ancestor","hasClass","className","RegExp","test","addClass","removeClass","classRegex","replace","trim","bindMethods","object","methodNames","Array","slice","call","arguments","method","bind","IgnoreUtilFocusChanges","dialogOpenClass","focusFirstDescendant","childNodes","child","attemptFocus","focusLastDescendant","focus","e","activeElement","OpenDialogList","getCurrentDialog","closeCurrentDialog","currentDialog","close","handleEscape","which","keyCode","stopPropagation","Dialog","dialogId","focusAfterClosed","focusFirst","dialogNode","Error","validRoles","some","token","role","backdropClass","backdropNode","createElement","insertBefore","appendChild","add","preDiv","preNode","postDiv","postNode","nextSibling","removeListeners","addListeners","lastFocus","clearDialog","map","input","pop","dialogIframes","dialogIframe","loading","dataset","src","newDialogId","newFocusAfterClosed","newFocusFirst","trapFocus","removeEventListener","topDialog","replaceDialog","togglerButtons","toggler","handleNavButtons","currentFocus","currentIndex","children","nextElementSibling","isTilingScrolling","scrollingTuileries","scrollingTuilerie","clearTimeout","setTimeout","prevBtn","nextBtn","sl","scrollLeft","removeAttribute","offsetWidth","scrollWidth","tuileNextBtns","tuileNextBtn","tuilerieParent","nextScroll","tuile","offsetLeft","scrollTo","left","tuilesPrevBtns","tuilesPrevBtn","prevScroll","prevScrollIndex","index","temoignagesBtns","temoignagesBtn","spanContent","baseul_locale","lessTestimonialLabel","moreTestimonialLabel","t","CURSOR","NONE","SCROLL","HOVER","container","attributes","rest","a","JSON","parse","n","controls","r","l","loop","u","y","interactivitymode","__autoplay","__controls","setLooping","play","interactivitytype","totalframes","visibility","frames","parseFloat","LottieInteractivity","create","player","concat","mode","actions","multiSelectButton","multiSelectHide","firstEl","multiSelectList","currentItem","preventDefault","checked","firstElementChild","rebuildMultiSelectCheckedList","checkboxitem","checklist","checkedItems","join","default","makeLoadingTag","loadingTag","loadingLabel","spanTag","spanTag2","cloneNode","spanTag3","append","onglets","onglet","tab","mobileButtons","click","top","getBoundingClientRect","documentElement","scrollTop","navButton","currentTab","tabindex","currentTabContent","mobileTrigger","newTabContent","selectNavs","selectNav","selectNavContent","contentToShow","removeSearchChip","chip","inputtype","inputid","selectedIndex","formid","requestSubmit","createSearchChip","options","text","removeFilter"],"sources":["scripts.js"],"sourcesContent":["var scrollJob = false;\r\nvar gtmset=false;\r\n\r\nlet currentScrollBehavior = 'smooth';\r\n\r\n//Hauteur calculĂ©e de l'en-tĂȘte (pour calculer la hauteur du menu)\r\nconst mainHeader=document.querySelector(\"header.ulaval-header\");\r\ndocument.body.style.setProperty(\r\n \"--header-height\",\r\n `${mainHeader.clientHeight}px`\r\n);\r\n\r\nconst smootherQuery = window.matchMedia('(prefers-reduced-motion: reduce)');\r\nsmootherQuery.addEventListener('change', () => {\r\n if (mediaQuery.matches) {\r\n currentScrollBehavior='auto';\r\n } else {\r\n currentScrollBehavior='smooth';\r\n }\r\n});\r\n\r\nfunction scroll_if_anchor(href) {\r\n \"use strict\";\r\n\tif(href!=\"\" && href.indexOf(\"#\") === 0) {\r\n const targetElement=document.getElementById(href.substring(1));\r\n if(targetElement){\r\n if(targetElement.hasAttribute(\"role\") && targetElement.getAttribute(\"role\")==\"dialog\"){\r\n const backlink=document.querySelector(\"a[href^='\"+href+\"']\");\r\n openDialog(href.substring(1),backlink);\r\n }\r\n else{\r\n manageCurrentTarget(targetElement);\r\n const targetParents=getParents(targetElement,document.querySelector(\"main\"));\r\n targetParents.forEach(parent=>{\r\n manageCurrentTarget(parent);\r\n });\r\n targetElement.scrollIntoView({ behavior: currentScrollBehavior});\r\n history.pushState({}, document.title, window.location.pathname +((window.location.search)?window.location.search:\"\") + href);\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction manageCurrentTarget(targetElement){\r\n const clickEvent=new Event(\"click\");\r\n\r\n if(targetElement.parentElement.classList.contains(\"tab-content\")){\r\n document.querySelector(\"nav.tabs-navigation>button[aria-controls=\\\"\"+targetElement.id+\"\\\"]\").dispatchEvent(clickEvent);\r\n }\r\n if(targetElement.classList.contains(\"toggler-panel\")){\r\n if(targetElement.hidden){\r\n targetElement.previousElementSibling.querySelector(\"button\").dispatchEvent(clickEvent);\r\n }\r\n }\r\n if(targetElement.classList.contains(\"baseul-dropdown-nav-item\")){\r\n if(navSiblings=targetElement.parentElement.querySelectorAll(\"baseul-dropdown-nav-item\")){\r\n navSiblings.forEach(navSibling=>{\r\n navSibling.hidden=true;\r\n });\r\n }\r\n targetElement.hidden=false;\r\n targetElement.parentElement.previousElementSibling.querySelector(\"select\").value=targetElement.id;\r\n }\r\n}\r\n\r\nfunction getParents(el, parentSelector) {\r\n if (parentSelector === undefined) {\r\n parentSelector = document;\r\n }\r\n var parents = [];\r\n var p = el.parentNode;\r\n while (p !== parentSelector) {\r\n var o = p;\r\n parents.push(o);\r\n p = o.parentNode;\r\n }\r\n parents.push(parentSelector);\r\n return parents;\r\n}\r\n\r\nconst tables=document.querySelectorAll(\"main section table:not(.is-manual-th)\");\r\ntables.forEach(table=>{\r\n let theadsTitles=[];\r\n const theadTitles=table.querySelectorAll(\"thead th\");\r\n theadTitles.forEach(title=>{\r\n theadsTitles.push(title.innerText);\r\n });\r\n for (var b = 0; b < theadsTitles.length; b++){\r\n const currentCells=table.querySelectorAll(\"tbody tr td:nth-child(\" + (b + 1) + \")\");\r\n currentCells.forEach(cell=>{\r\n cell.setAttribute(\"data-th\",theadsTitles[b]);\r\n });\r\n}\r\n});\r\n\r\nconst bodyMain=document.querySelector(\"body\");\r\nbodyMain.addEventListener(\"click\", function(event)\r\n {\r\n const closestLink=event.target.closest(\"a[href^='#']\");\r\n if(!closestLink){return;}\r\n scroll_if_anchor(closestLink.hash.split(\"?\")[0],closestLink);\r\n });\r\n\r\nconst dialogCloseButtons=document.querySelectorAll(\".dialog-close\");\r\ndialogCloseButtons.forEach(closeButton=>{\r\n closeButton.addEventListener(\"click\",function(){\r\n closeDialog(this);\r\n });\r\n});\r\n\r\nscrollmax = 101;\r\n\r\n/* global wp */\r\n/*\r\n* This content is licensed according to the W3C Software License at\r\n* https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document\r\n*/\r\n\r\n/**\r\n * @namespace aria\r\n */\r\n\r\nvar aria = aria || {};\r\n\r\n/**\r\n * @desc\r\n * Key code constants\r\n */\r\naria.KeyCode = {\r\n BACKSPACE: 8,\r\n TAB: 9,\r\n RETURN: 13,\r\n ESC: 27,\r\n SPACE: 32,\r\n PAGE_UP: 33,\r\n PAGE_DOWN: 34,\r\n END: 35,\r\n HOME: 36,\r\n LEFT: 37,\r\n UP: 38,\r\n RIGHT: 39,\r\n DOWN: 40,\r\n DELETE: 46\r\n};\r\n\r\naria.Utils = aria.Utils || {};\r\n\r\n// Polyfill src https://developer.mozilla.org/en-US/docs/Web/API/Element/matches\r\naria.Utils.matches = function (element, selector) {\r\n if (!Element.prototype.matches) {\r\n Element.prototype.matches =\r\n Element.prototype.matchesSelector ||\r\n Element.prototype.mozMatchesSelector ||\r\n Element.prototype.msMatchesSelector ||\r\n Element.prototype.oMatchesSelector ||\r\n Element.prototype.webkitMatchesSelector ||\r\n function (s) {\r\n var matches = element.parentNode.querySelectorAll(s);\r\n var i = matches.length;\r\n while (--i >= 0 && matches.item(i) !== this) {}\r\n return i > -1;\r\n };\r\n }\r\n\r\n return element.matches(selector);\r\n};\r\n\r\naria.Utils.remove = function (item) {\r\n if (item.remove && typeof item.remove === 'function') {\r\n return item.remove();\r\n }\r\n if (item.parentNode &&\r\n item.parentNode.removeChild &&\r\n typeof item.parentNode.removeChild === 'function') {\r\n return item.parentNode.removeChild(item);\r\n }\r\n return false;\r\n};\r\n\r\naria.Utils.isFocusable = function (element) {\r\n if (element.tabIndex > 0 || (element.tabIndex === 0 && element.getAttribute('tabIndex') !== null)) {\r\n return true;\r\n }\r\n\r\n if (element.disabled) {\r\n return false;\r\n }\r\n\r\n switch (element.nodeName) {\r\n case 'A':\r\n return !!element.href && element.rel != 'ignore';\r\n case 'INPUT':\r\n return element.type != 'hidden' && element.type != 'file';\r\n case 'BUTTON':\r\n case 'SELECT':\r\n case 'TEXTAREA':\r\n return true;\r\n default:\r\n return false;\r\n }\r\n};\r\n\r\naria.Utils.getAncestorBySelector = function (element, selector) {\r\n if (!aria.Utils.matches(element, selector + ' ' + element.tagName)) {\r\n // Element is not inside an element that matches selector\r\n return null;\r\n }\r\n\r\n // Move up the DOM tree until a parent matching the selector is found\r\n var currentNode = element;\r\n var ancestor = null;\r\n while (ancestor === null) {\r\n if (aria.Utils.matches(currentNode.parentNode, selector)) {\r\n ancestor = currentNode.parentNode;\r\n }\r\n else {\r\n currentNode = currentNode.parentNode;\r\n }\r\n }\r\n\r\n return ancestor;\r\n};\r\n\r\naria.Utils.hasClass = function (element, className) {\r\n return (new RegExp('(\\\\s|^)' + className + '(\\\\s|$)')).test(element.className);\r\n};\r\n\r\naria.Utils.addClass = function (element, className) {\r\n if (!aria.Utils.hasClass(element, className)) {\r\n element.className += ' ' + className;\r\n }\r\n};\r\n\r\naria.Utils.removeClass = function (element, className) {\r\n var classRegex = new RegExp('(\\\\s|^)' + className + '(\\\\s|$)');\r\n element.className = element.className.replace(classRegex, ' ').trim();\r\n};\r\n\r\naria.Utils.bindMethods = function (object /* , ...methodNames */) {\r\n var methodNames = Array.prototype.slice.call(arguments, 1);\r\n methodNames.forEach(function (method) {\r\n object[method] = object[method].bind(object);\r\n });\r\n};\r\n\r\n\r\n(function () {\r\n aria.Utils.IgnoreUtilFocusChanges = false;\r\n aria.Utils.dialogOpenClass = 'openDialog';\r\n\r\n aria.Utils.focusFirstDescendant = function (element) {\r\n for (var i = 0; i < element.childNodes.length; i++) {\r\n var child = element.childNodes[i];\r\n if (aria.Utils.attemptFocus(child) ||\r\n aria.Utils.focusFirstDescendant(child)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n };\r\n\r\n aria.Utils.focusLastDescendant = function (element) {\r\n for (var i = element.childNodes.length - 1; i >= 0; i--) {\r\n var child = element.childNodes[i];\r\n if (aria.Utils.attemptFocus(child) ||\r\n aria.Utils.focusLastDescendant(child)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n };\r\n\r\n aria.Utils.attemptFocus = function (element) {\r\n if (!aria.Utils.isFocusable(element)) {\r\n return false;\r\n }\r\n\r\n aria.Utils.IgnoreUtilFocusChanges = true;\r\n try {\r\n element.focus();\r\n }\r\n catch (e) {\r\n }\r\n aria.Utils.IgnoreUtilFocusChanges = false;\r\n return (document.activeElement === element);\r\n };\r\n\r\n aria.OpenDialogList = aria.OpenDialogList || new Array(0);\r\n\r\n aria.getCurrentDialog = function () {\r\n if (aria.OpenDialogList && aria.OpenDialogList.length) {\r\n return aria.OpenDialogList[aria.OpenDialogList.length - 1];\r\n }\r\n };\r\n\r\n aria.closeCurrentDialog = function () {\r\n var currentDialog = aria.getCurrentDialog();\r\n if (currentDialog) {\r\n currentDialog.close();\r\n return true;\r\n }\r\n return false;\r\n };\r\n\r\n aria.handleEscape = function (event) {\r\n var key = event.which || event.keyCode;\r\n if (key === aria.KeyCode.ESC && aria.closeCurrentDialog()) {\r\n event.stopPropagation();\r\n }\r\n };\r\n\r\n document.addEventListener('keyup', aria.handleEscape);\r\n\r\n aria.Dialog = function (dialogId, focusAfterClosed, focusFirst) {\r\n this.dialogNode = document.getElementById(dialogId);\r\n if (this.dialogNode === null) {\r\n throw new Error('No element found with id=\"' + dialogId + '\".');\r\n }\r\n var validRoles = ['dialog', 'alertdialog'];\r\n var isDialog = (this.dialogNode.getAttribute('role') || '')\r\n .trim()\r\n .split(/\\s+/g)\r\n .some(function (token) {\r\n return validRoles.some(function (role) {\r\n return token === role;\r\n });\r\n });\r\n if (!isDialog) {\r\n throw new Error('Dialog() requires a DOM element with ARIA role of dialog or alertdialog.');\r\n }\r\n\r\n var backdropClass = 'wp-block-baseul-block-dialog';\r\n if (this.dialogNode.parentNode.classList.contains(backdropClass)) {\r\n this.backdropNode = this.dialogNode.parentNode;\r\n }\r\n else {\r\n this.backdropNode = document.createElement('div');\r\n this.backdropNode.className = backdropClass;\r\n this.dialogNode.parentNode.insertBefore(this.backdropNode, this.dialogNode);\r\n this.backdropNode.appendChild(this.dialogNode);\r\n }\r\n this.backdropNode.classList.add('active');\r\n\r\n // Disable scroll on the body element\r\n document.querySelector(\"html\").classList.add(aria.Utils.dialogOpenClass);\r\n if (typeof focusAfterClosed === 'string') {\r\n this.focusAfterClosed = document.getElementById(focusAfterClosed);\r\n }\r\n else if (typeof focusAfterClosed === 'object') {\r\n this.focusAfterClosed = focusAfterClosed;\r\n }\r\n else {\r\n throw new Error(\r\n 'the focusAfterClosed parameter is required for the aria.Dialog constructor.');\r\n }\r\n if (typeof focusFirst === 'string') {\r\n this.focusFirst = document.getElementById(focusFirst);\r\n }\r\n else if (typeof focusFirst === 'object') {\r\n this.focusFirst = focusFirst;\r\n }\r\n else {\r\n this.focusFirst = null;\r\n }\r\n\r\n var preDiv = document.createElement('div');\r\n this.preNode = this.dialogNode.parentNode.insertBefore(preDiv,\r\n this.dialogNode);\r\n this.preNode.tabIndex = 0;\r\n var postDiv = document.createElement('div');\r\n this.postNode = this.dialogNode.parentNode.insertBefore(postDiv,\r\n this.dialogNode.nextSibling);\r\n this.postNode.tabIndex = 0;\r\n\r\n if (aria.OpenDialogList.length > 0) {\r\n aria.getCurrentDialog().removeListeners();\r\n }\r\n\r\n this.addListeners();\r\n aria.OpenDialogList.push(this);\r\n this.dialogNode.className = 'current_dialog'; // make visible\r\n\r\n if (this.focusFirst) {\r\n this.focusFirst.focus();\r\n }\r\n else {\r\n aria.Utils.focusFirstDescendant(this.dialogNode);\r\n }\r\n\r\n this.lastFocus = document.activeElement;\r\n }; // end Dialog constructor\r\n\r\n aria.Dialog.prototype.clearDialog = function () {\r\n Array.prototype.map.call(\r\n this.dialogNode.querySelectorAll('input'),\r\n function (input) {\r\n input.value = '';\r\n }\r\n );\r\n };\r\n\r\n aria.Dialog.prototype.close = function () {\r\n aria.OpenDialogList.pop();\r\n this.removeListeners();\r\n aria.Utils.remove(this.preNode);\r\n aria.Utils.remove(this.postNode);\r\n\r\n if(dialogIframes=this.dialogNode.querySelectorAll(\"iframe\")){\r\n dialogIframes.forEach(dialogIframe=>{\r\n dialogIframe.loading=\"eager\";\r\n if(dialogIframe.dataset.src){\r\n dialogIframe.src=dialogIframe.dataset.src;\r\n }\r\n else{\r\n dialogIframe.src=dialogIframe.src;\r\n }\r\n });\r\n }\r\n\r\n this.dialogNode.className = 'hidden';\r\n this.backdropNode.classList.remove('active');\r\n if(this.focusAfterClosed){\r\n this.focusAfterClosed.focus();\r\n }\r\n if (aria.OpenDialogList.length > 0) {\r\n aria.getCurrentDialog().addListeners();\r\n }\r\n else {\r\n document.querySelector(\"html\").classList.remove(aria.Utils.dialogOpenClass);\r\n }\r\n };\r\n\r\n aria.Dialog.prototype.replace = function (newDialogId, newFocusAfterClosed,\r\n newFocusFirst) {\r\n var closedDialog = aria.getCurrentDialog();\r\n aria.OpenDialogList.pop();\r\n this.removeListeners();\r\n aria.Utils.remove(this.preNode);\r\n aria.Utils.remove(this.postNode);\r\n this.dialogNode.className = 'hidden';\r\n this.backdropNode.classList.remove('active');\r\n\r\n var focusAfterClosed = newFocusAfterClosed || this.focusAfterClosed;\r\n var dialog = new aria.Dialog(newDialogId, focusAfterClosed, newFocusFirst);\r\n };\r\n\r\n aria.Dialog.prototype.addListeners = function () {\r\n document.addEventListener('focus', this.trapFocus, true);\r\n };\r\n\r\n aria.Dialog.prototype.removeListeners = function () {\r\n document.removeEventListener('focus', this.trapFocus, true);\r\n };\r\n\r\n aria.Dialog.prototype.trapFocus = function (event) {\r\n if (aria.Utils.IgnoreUtilFocusChanges) {\r\n return;\r\n }\r\n var currentDialog = aria.getCurrentDialog();\r\n if (currentDialog.dialogNode.contains(event.target)) {\r\n currentDialog.lastFocus = event.target;\r\n }\r\n else {\r\n aria.Utils.focusFirstDescendant(currentDialog.dialogNode);\r\n if (currentDialog.lastFocus == document.activeElement) {\r\n aria.Utils.focusLastDescendant(currentDialog.dialogNode);\r\n }\r\n currentDialog.lastFocus = document.activeElement;\r\n }\r\n };\r\n\r\n window.openDialog = function (dialogId, focusAfterClosed, focusFirst) {\r\n var dialog = new aria.Dialog(dialogId, focusAfterClosed, focusFirst);\r\n };\r\n\r\n window.closeDialog = function (closeButton) {\r\n var topDialog = aria.getCurrentDialog();\r\n if (topDialog.dialogNode.contains(closeButton)) {\r\n topDialog.close();\r\n }\r\n };\r\n\r\n window.replaceDialog = function (newDialogId, newFocusAfterClosed,\r\n newFocusFirst) {\r\n var topDialog = aria.getCurrentDialog();\r\n if (topDialog.dialogNode.contains(document.activeElement)) {\r\n topDialog.replace(newDialogId, newFocusAfterClosed, newFocusFirst);\r\n }\r\n };\r\n\r\n}());\r\n\r\nconst togglerButtons=document.querySelectorAll(\"button.toggler-button\");\r\ntogglerButtons.forEach(toggler=>{\r\n toggler.addEventListener(\"click\", function(){\r\n if(this.getAttribute(\"aria-expanded\")==\"false\"){\r\n this.setAttribute(\"aria-expanded\",\"true\");\r\n document.getElementById(this.getAttribute(\"aria-controls\")).hidden=false;\r\n history.pushState({}, \"\", \"#\"+this.getAttribute(\"aria-controls\"));\r\n }\r\n else{\r\n this.setAttribute(\"aria-expanded\",\"false\");\r\n document.getElementById(this.getAttribute(\"aria-controls\")).hidden=true;\r\n history.pushState({}, \"\", \"\");\r\n }\r\n });\r\n});\r\n\r\nvar handleNavButtons=function(e){\r\n const currentFocus=document.activeElement;\r\n const currentIndex=[...currentFocus.parentElement.children].indexOf(currentFocus);\r\n switch(e.keyCode){\r\n case 37: //left\r\n if(currentIndex==0){\r\n currentFocus.parentElement.querySelector(\"button:last-of-type\").focus();\r\n }\r\n else{\r\n currentFocus.previousElementSibling.focus();\r\n }\r\n break;\r\n case 39: //right\r\n if(currentIndex==([...currentFocus.parentElement.children].length-1)){\r\n currentFocus.parentElement.querySelector(\"button:first-of-type\").focus();\r\n }\r\n else{\r\n currentFocus.nextElementSibling.focus();\r\n }\r\n break;\r\n case 9:\r\n currentFocus.parentElement.nextElementSibling.querySelector(\"[aria-hidden='false']\").focus();\r\n break;\r\n }\r\n}\r\n\r\nlet isTilingScrolling;\r\n\r\nconst scrollingTuileries = document.querySelectorAll(\".baseul-tuilerie-scroll ul.baseul-tuilerie-content\");\r\nscrollingTuileries.forEach(scrollingTuilerie => {\r\n scrollingTuilerie.addEventListener('scroll', function ( event ) {\r\n window.clearTimeout( isTilingScrolling );\r\n isTilingScrolling = setTimeout(function() {\r\n const prevBtn=event.target.nextSibling.querySelector(\"button.baseul-tuilerie-nav-prev\");\r\n const nextBtn=event.target.nextSibling.querySelector(\"button.baseul-tuilerie-nav-next\");\r\n const sl=event.target.scrollLeft;\r\n if(sl==0){\r\n prevBtn.setAttribute(\"disabled\",true);\r\n }\r\n else{\r\n prevBtn.removeAttribute(\"disabled\");\r\n }\r\n if((sl+event.target.offsetWidth)==event.target.scrollWidth){\r\n nextBtn.setAttribute(\"disabled\",true);\r\n }\r\n else{\r\n nextBtn.removeAttribute(\"disabled\");\r\n }\r\n }, 66);\r\n }, false);\r\n});\r\n\r\n\r\n\r\nconst tuileNextBtns=document.querySelectorAll(\".baseul-tuilerie-nav-next\");\r\ntuileNextBtns.forEach(tuileNextBtn => {\r\n tuileNextBtn.addEventListener(\"click\",function(e){\r\n const tuilerieParent = e.target.parentElement.parentElement.querySelector(\"ul.baseul-tuilerie-content\");\r\n const prevBtn=e.target.parentElement.querySelector(\"button.baseul-tuilerie-nav-prev\");\r\n const tuiles=e.target.parentElement.parentElement.querySelectorAll(\"ul.baseul-tuilerie-content>li\");\r\n let nextScroll;\r\n tuiles.forEach(function(tuile){\r\n if(!nextScroll && (tuile.offsetLeft-tuilerieParent.offsetLeft+tuile.offsetWidth>tuilerieParent.offsetWidth+tuilerieParent.scrollLeft)){\r\n nextScroll=tuile;\r\n }\r\n });\r\n if(nextScroll){\r\n tuilerieParent.scrollTo({left:nextScroll.offsetLeft-tuilerieParent.parentElement.offsetLeft, behavior: currentScrollBehavior});\r\n prevBtn.removeAttribute(\"disabled\");\r\n }\r\n });\r\n});\r\n\r\nconst tuilesPrevBtns=document.querySelectorAll(\".baseul-tuilerie-nav-prev\");\r\ntuilesPrevBtns.forEach(tuilesPrevBtn => {\r\n tuilesPrevBtn.setAttribute(\"disabled\",true);\r\n tuilesPrevBtn.addEventListener(\"click\",function(e){\r\n const tuilerieParent = e.target.parentElement.parentElement.querySelector(\"ul.baseul-tuilerie-content\");\r\n const nextBtn=e.target.parentElement.querySelector(\"button.baseul-tuilerie-nav-next\");\r\n const tuiles=e.target.parentElement.parentElement.querySelectorAll(\"ul.baseul-tuilerie-content>li\");\r\n let prevScroll;\r\n let prevScrollIndex;\r\n tuiles.forEach((tuile, index) => {\r\n if(!prevScroll && (tuile.offsetLeft-tuilerieParent.offsetLeft>tuilerieParent.scrollLeft-tuilerieParent.offsetWidth)){\r\n prevScroll=tuile;\r\n prevScrollIndex=index;\r\n }\r\n });\r\n if(prevScroll && prevScrollIndex>0){\r\n tuilerieParent.scrollTo({left:prevScroll.offsetLeft-tuilerieParent.parentElement.offsetLeft, behavior: currentScrollBehavior});\r\n }\r\n else{\r\n tuilerieParent.scrollTo({left:0, behavior: currentScrollBehavior});\r\n }\r\n nextBtn.removeAttribute(\"disabled\");\r\n });\r\n});\r\n\r\n\r\nconst temoignagesBtns = document.querySelectorAll(\".baseul-tuile-temoignage-showMore\");\r\ntemoignagesBtns.forEach(temoignagesBtn => {\r\n temoignagesBtn.addEventListener(\"click\",function(e){\r\n const spanContent=e.target.querySelector(\"span\");\r\n if(e.target.getAttribute(\"aria-expanded\")==\"false\"){\r\n e.target.setAttribute(\"aria-expanded\",\"true\");\r\n document.getElementById(e.target.getAttribute(\"aria-controls\")).classList.add(\"expanded\");\r\n spanContent.innerText=baseul_locale.lessTestimonialLabel;\r\n }\r\n else{\r\n e.target.setAttribute(\"aria-expanded\",\"false\");\r\n document.getElementById(e.target.getAttribute(\"aria-controls\")).classList.remove(\"expanded\");\r\n spanContent.innerText=baseul_locale.moreTestimonialLabel;\r\n }\r\n });\r\n});\r\n\r\n! function() {\r\n\t\"use strict\";\r\n\tvar t;\r\n\t! function(t) {\r\n\t\tt.CURSOR = \"cursor\", t.NONE = \"none\", t.SCROLL = \"scroll\", t.HOVER = \"hover\";\r\n\t}(t || (t = {})), window.addEventListener(\"DOMContentLoaded\", (function() {\r\n\t\tvar e = document.querySelectorAll(\"lottie-player\");\r\n\t\te.forEach((function(e) {\r\n const container = e.parentElement.parentElement;\r\n if(container.classList.contains(\"baseul-tuile-content\")){\r\n container.id=e.id+\"_container\";\r\n }\r\n if(e.attributes.rest){\r\n\t\t\tvar a = e.attributes,\r\n\t\t\t\ti = JSON.parse(a.rest.value),\r\n\t\t\t\to = document.getElementById(a.id.value),\r\n\t\t\t\tn = i.controls,\r\n\t\t\t\tr = void 0 === n || n,\r\n\t\t\t\tl = i.loop,\r\n\t\t\t\tu = void 0 === l || l,\r\n y = (container.classList.contains(\"baseul-tuile-content\") && a.interactivitymode.value === t.CURSOR) ? (\"#\"+e.id+\"_container\") : null;\r\n\t\t\to.__autoplay = !1, o.__controls = !0 === r, o.setLooping(!0 === u), a.interactivitymode.value === t.NONE ? (o.__autoplay = !0, o.play()) : function(e) {\r\n\t\t\t\tif (\"\" !== e.id.value) {\r\n\t\t\t\t\tvar a = function(e) {\r\n\t\t\t\t\t\tvar a = e.interactivitymode,\r\n\t\t\t\t\t\t\ti = e.interactivitytype,\r\n\t\t\t\t\t\t\to = e.totalframes;\r\n\t\t\t\t\t\treturn a.value === t.SCROLL ? [{\r\n\t\t\t\t\t\t\tvisibility: [0, 1],\r\n\t\t\t\t\t\t\ttype: i.value,\r\n\t\t\t\t\t\t\tframes: [0, parseFloat(o.value)]\r\n\t\t\t\t\t\t}] : [{\r\n\t\t\t\t\t\t\ttype: (container.classList.contains(\"baseul-tuile-content\") && e.interactivitymode.value === t.CURSOR) ? \"hover\" : i.value\r\n\t\t\t\t\t\t}]\r\n\t\t\t\t\t}(e);\r\n\t\t\t\t\tLottieInteractivity.create({\r\n\t\t\t\t\t\tplayer: \"#\".concat(e.id.value),\r\n\t\t\t\t\t\tmode: e.interactivitymode.value,\r\n container : y,\r\n\t\t\t\t\t\tactions: a\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t}(a)}\r\n\t\t}))\r\n\t}))\r\n}();\r\n\r\ndocument.querySelectorAll(\".baseul-multiselect-button\").forEach(multiSelectButton => {\r\n multiSelectButton.addEventListener(\"click\",function(){\r\n if(this.getAttribute(\"aria-expanded\")==\"false\"){\r\n this.setAttribute(\"aria-expanded\",\"true\");\r\n document.getElementById(this.getAttribute(\"aria-controls\")).hidden=false;\r\n }\r\n else{\r\n this.setAttribute(\"aria-expanded\",\"false\");\r\n document.getElementById(this.getAttribute(\"aria-controls\")).hidden=true;\r\n }\r\n });\r\n multiSelectButton.addEventListener(\"keydown\",function(e){\r\n switch (e.keyCode) {\r\n case 9: //tab\r\n multiSelectHide();\r\n break;\r\n case 40:\r\n this.setAttribute(\"aria-expanded\",\"true\");\r\n document.getElementById(this.getAttribute(\"aria-controls\")).hidden=false;\r\n const firstEl=this.nextElementSibling.querySelector(\"li:first-child\");\r\n firstEl.setAttribute(\"aria-selected\",\"true\");\r\n firstEl.focus();\r\n break;\r\n }\r\n});\r\n});\r\n\r\ndocument.querySelectorAll(\".baseul-multiselect-list\").forEach(multiSelectList => {\r\n multiSelectList.addEventListener(\"keydown\", function (e) {\r\n let currentItem = this.querySelector(\"[aria-selected=true]\");\r\n switch(e.keyCode){\r\n case 38: // Up arrow\r\n if(currentItem.previousElementSibling !== null){\r\n currentItem.setAttribute(\"aria-selected\",\"false\");\r\n currentItem.previousElementSibling.setAttribute(\"aria-selected\", \"true\");\r\n currentItem.previousElementSibling.focus();\r\n }\r\n else{\r\n currentItem.setAttribute(\"aria-selected\",\"false\");\r\n currentItem.parentElement.previousElementSibling.focus();\r\n }\r\n e.preventDefault();\r\n break;\r\n case 40: // Down arrow\r\n if(currentItem.nextElementSibling !== null){\r\n currentItem.setAttribute(\"aria-selected\",\"false\");\r\n currentItem.nextElementSibling.setAttribute(\"aria-selected\",\"true\");\r\n currentItem.nextElementSibling.focus();\r\n }\r\n e.preventDefault();\r\n break;\r\n case 32: // Space\r\n case 13:\r\n if (currentItem.getAttribute(\"aria-checked\") === \"true\") {\r\n currentItem.setAttribute(\"aria-checked\", \"false\");\r\n currentItem.querySelector(\"input[type=checkbox]\").checked = false;\r\n } else {\r\n currentItem.setAttribute(\"aria-checked\", \"true\");\r\n currentItem.firstElementChild.setAttribute(\"aria-checked\", \"true\");\r\n currentItem.querySelector(\"input[type=checkbox]\").checked = true;\r\n }\r\n rebuildMultiSelectCheckedList(multiSelectList);\r\n e.preventDefault();\r\n break;\r\n }\r\n });\r\n multiSelectList.querySelectorAll(\"input[type='checkbox']\").forEach(checkboxitem => {\r\n checkboxitem.addEventListener(\"change\",function(){\r\n this.parentElement.setAttribute(\"aria-checked\",(this.checked)?\"true\":false);\r\n rebuildMultiSelectCheckedList(multiSelectList);\r\n });\r\n });\r\n});\r\n\r\n\r\ndocument.addEventListener('click', function(e) {\r\n if(!e.target.closest('.baseul-multiselect-container')) {\r\n multiSelectHide();\r\n }\r\n});\r\n\r\nvar rebuildMultiSelectCheckedList = function(checklist){\r\n let checkedItems=[];\r\n checklist.querySelectorAll(\"input[type='checkbox']:checked\").forEach(checkboxitem => {\r\n checkedItems.push(checkboxitem.nextElementSibling.innerText);\r\n });\r\n if(checkedItems.length>0){\r\n checklist.previousElementSibling.innerText=checkedItems.join(\", \");\r\n }\r\n else{\r\n checklist.previousElementSibling.innerText=checklist.previousElementSibling.dataset.default;\r\n }\r\n}\r\n\r\nvar multiSelectHide = function(){\r\n document.querySelectorAll(\".baseul-multiselect-button\").forEach(multiSelectButton => {\r\n multiSelectButton.setAttribute(\"aria-expanded\",\"false\");\r\n document.getElementById(multiSelectButton.getAttribute(\"aria-controls\")).hidden=true;\r\n });\r\n document.querySelectorAll(\".baseul-multiselect-list\").forEach(multiSelectList => {\r\n const currentItem = multiSelectList.querySelector(\"[aria-selected=true]\");\r\n if(currentItem){\r\n currentItem.setAttribute(\"aria-selected\",\"false\");\r\n }\r\n\r\n });\r\n}\r\n\r\nvar makeLoadingTag=function(){\r\n var loadingTag=document.createElement(\"p\");\r\n loadingTag.classList.add(\"baseul-search-loading\");\r\n loadingTag.innerText=baseul_locale.loadingLabel;\r\n var spanTag=document.createElement(\"span\");\r\n spanTag.innerText=\".\";\r\n spanTag2 = spanTag.cloneNode(true);\r\n spanTag3 = spanTag.cloneNode(true);\r\n loadingTag.append(spanTag);\r\n loadingTag.append(spanTag2);\r\n loadingTag.append(spanTag3);\r\n return loadingTag;\r\n}\r\n\r\nconst onglets=document.querySelectorAll(\".wp-block-baseul-block-onglets\");\r\nonglets.forEach(onglet => {\r\n const tabPanels=onglet.querySelectorAll(\".tab-content div[role=\\\"tabpanel\\\"]\");\r\n tabPanels.forEach(function(tab,index){\r\n tab.setAttribute(\"aria-hidden\",(index>0));\r\n if(mobileButtons=tab.querySelector(\"button.tab-mobile-trigger[aria-controls='\"+tab.id+\"']\")){\r\n mobileButtons.addEventListener(\"click\",function(){\r\n this.parentElement.parentElement.parentElement.querySelector(\"nav.tabs-navigation button[aria-controls='\"+this.getAttribute(\"aria-controls\")+\"']\").click();\r\n window.scrollTo({top: (this.getBoundingClientRect().top + document.documentElement.scrollTop) - 15,behavior: currentScrollBehavior});\r\n });\r\n }\r\n });\r\n const navButtons=onglet.querySelectorAll(\":scope > nav.tabs-navigation>button\");\r\n navButtons.forEach(navButton=>{\r\n navButton.tabIndex=(navButton.classList.contains(\"current-tab\"))?0:-1;\r\n navButton.addEventListener(\"click\",function(){\r\n const currentTab=this.parentElement.querySelector(\".current-tab\");\r\n currentTab.classList.remove(\"current-tab\");\r\n currentTab.setAttribute(\"aria-selected\",\"false\");\r\n currentTab.tabindex=-1;\r\n this.classList.add(\"current-tab\");\r\n this.setAttribute(\"aria-selected\",\"true\");\r\n this.tabIndex=0;\r\n\r\n const currentTabContent=this.parentElement.parentElement.querySelector(\":scope > .tab-content > [aria-hidden=\\\"false\\\"]\");\r\n currentTabContent.setAttribute(\"aria-hidden\",\"true\");\r\n currentTabContent.querySelector(\":scope > .tab-inner\").setAttribute(\"aria-hidden\",\"true\");\r\n if(mobileTrigger = currentTabContent.querySelector(\":scope > button.tab-mobile-trigger\")){\r\n mobileTrigger.setAttribute(\"aria-expanded\",\"false\");\r\n }\r\n\r\n const newTabContent=document.querySelector(\".tab-content>#\"+this.getAttribute(\"aria-controls\"));\r\n newTabContent.setAttribute(\"aria-hidden\",\"false\");\r\n newTabContent.querySelector(\":scope > .tab-inner\").setAttribute(\"aria-hidden\",\"false\");\r\n if(mobileTrigger = newTabContent.querySelector(\":scope > button.tab-mobile-trigger\")){\r\n mobileTrigger.setAttribute(\"aria-expanded\",\"true\");\r\n }\r\n\r\n history.pushState({}, \"\", \"#\"+this.getAttribute(\"aria-controls\"));\r\n newTabContent.querySelector(\":scope > .tab-inner\").focus();\r\n });\r\n navButton.addEventListener(\"focusin\",function(){\r\n document.addEventListener('keyup', handleNavButtons);\r\n });\r\n navButton.addEventListener(\"focusout\",function(){\r\n document.removeEventListener('keyup', handleNavButtons);\r\n });\r\n });\r\n});\r\n\r\nconst selectNavs=document.querySelectorAll(\"nav.baseul-dropdown-nav>select\");\r\nselectNavs.forEach(selectNav => {\r\n selectNav.addEventListener(\"change\",function(){\r\n if(selectNavContent=document.querySelectorAll(\"#\"+this.getAttribute(\"aria-controls\")+\">div\")){\r\n selectNavContent.forEach(container=>{\r\n container.hidden=true;\r\n });\r\n }\r\n if(this.value !=\"\"){\r\n if(contentToShow=document.querySelector(\"#\"+this.value)){\r\n contentToShow.hidden=false;\r\n history.pushState({}, \"\", \"#\"+this.value);\r\n }\r\n }\r\n\r\n });\r\n});\r\n\r\nscroll_if_anchor(window.location.hash.split(\"?\")[0]);\r\n\r\nvar removeSearchChip=function(chip){\r\n switch(chip.dataset.inputtype){\r\n case \"select\":\r\n document.getElementById(chip.dataset.inputid).selectedIndex=0;\r\n break;\r\n case \"checkbox\":\r\n document.getElementById(chip.dataset.inputid).checked=false;\r\n break;\r\n case \"multiselect\":\r\n document.getElementById(chip.dataset.inputid).checked=false;\r\n document.getElementById(chip.dataset.inputid).parentElement.setAttribute(\"aria-checked\",false);\r\n rebuildMultiSelectCheckedList(document.getElementById(chip.dataset.inputid).parentElement.parentElement);\r\n break;\r\n case \"text\":\r\n document.getElementById(chip.dataset.inputid).value=\"\";\r\n break;\r\n }\r\n document.getElementById(chip.dataset.formid).requestSubmit();\r\n};\r\n\r\nvar createSearchChip = function(inputid,inputtype,formid,innerText=\"\"){\r\n const chip = document.createElement(\"button\");\r\n chip.type=\"button\";\r\n switch(inputtype){\r\n case \"select\":\r\n chip.innerText=(innerText!=\"\")?innerText:document.getElementById(inputid).options[document.getElementById(inputid).selectedIndex].text;\r\n break;\r\n case \"checkbox\":\r\n case \"multiselect\":\r\n case \"text\":\r\n chip.innerText=innerText;\r\n break;\r\n }\r\n chip.dataset.inputid = inputid;\r\n chip.dataset.inputtype = inputtype;\r\n chip.dataset.formid = formid;\r\n chip.setAttribute(\"aria-label\",baseul_locale.removeFilter);\r\n chip.className=\"baseul-search-chip\";\r\n chip.addEventListener(\"click\", function(){\r\n removeSearchChip(chip);\r\n });\r\n return chip;\r\n};"],"mappings":"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"}