{"version":3,"sources":["../../node_modules/focus-visible/dist/focus-visible.js","front/_browser.js","front/_letters.js","front/_links.js","front/_menu-offcanvas.js","front/_password.js"],"names":["global","factory","exports","module","define","amd","this","applyFocusVisiblePolyfill","scope","hadKeyboardEvent","hadFocusVisibleRecently","hadFocusVisibleRecentlyTimeout","inputTypesWhitelist","text","search","url","tel","email","password","number","date","month","week","time","datetime","datetime-local","isValidFocusTarget","el","document","nodeName","classList","addFocusVisibleClass","contains","add","setAttribute","onPointerDown","e","addInitialPointerMoveListeners","addEventListener","onInitialPointerMove","target","toLowerCase","removeEventListener","metaKey","altKey","ctrlKey","activeElement","visibilityState","type","tagName","readOnly","isContentEditable","hasAttribute","window","clearTimeout","setTimeout","remove","removeAttribute","nodeType","Node","DOCUMENT_FRAGMENT_NODE","host","DOCUMENT_NODE","documentElement","event","CustomEvent","error","createEvent","initCustomEvent","dispatchEvent","$window","$","$document","$html","$body","removeClass","browserIsCompatible","version","isCompatible","cssSupports","CSS","isIE11","MSInputMethodContext","documentMode","ua","navigator","userAgent","msie","indexOf","parseInt","substring","rv","edge","detectIE","detectSafari","ready","prepend","on","scrollTop","fadeOut","fadeIn","hash","location","toString","replace","children","addClass","jQuery","find","each","index","link","href","match","hostname","download","rel","$header","$navigation","$button","$links","was_mobile","css","now_mobile","didResize","length","preventDefault","stopPropagation","navigation_visible","attr","toggleClass","$this","parent","hasClass","trigger","click","closest","loop","requestAnimationFrame","$input"],"mappings":"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","file":"front.js","sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (factory());\n}(this, (function () { 'use strict';\n\n /**\n * Applies the :focus-visible polyfill at the given scope.\n * A scope in this case is either the top-level Document or a Shadow Root.\n *\n * @param {(Document|ShadowRoot)} scope\n * @see https://github.com/WICG/focus-visible\n */\n function applyFocusVisiblePolyfill(scope) {\n var hadKeyboardEvent = true;\n var hadFocusVisibleRecently = false;\n var hadFocusVisibleRecentlyTimeout = null;\n\n var inputTypesWhitelist = {\n text: true,\n search: true,\n url: true,\n tel: true,\n email: true,\n password: true,\n number: true,\n date: true,\n month: true,\n week: true,\n time: true,\n datetime: true,\n 'datetime-local': true\n };\n\n /**\n * Helper function for legacy browsers and iframes which sometimes focus\n * elements like document, body, and non-interactive SVG.\n * @param {Element} el\n */\n function isValidFocusTarget(el) {\n if (\n el &&\n el !== document &&\n el.nodeName !== 'HTML' &&\n el.nodeName !== 'BODY' &&\n 'classList' in el &&\n 'contains' in el.classList\n ) {\n return true;\n }\n return false;\n }\n\n /**\n * Computes whether the given element should automatically trigger the\n * `focus-visible` class being added, i.e. whether it should always match\n * `:focus-visible` when focused.\n * @param {Element} el\n * @return {boolean}\n */\n function focusTriggersKeyboardModality(el) {\n var type = el.type;\n var tagName = el.tagName;\n\n if (tagName == 'INPUT' && inputTypesWhitelist[type] && !el.readOnly) {\n return true;\n }\n\n if (tagName == 'TEXTAREA' && !el.readOnly) {\n return true;\n }\n\n if (el.isContentEditable) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Add the `focus-visible` class to the given element if it was not added by\n * the author.\n * @param {Element} el\n */\n function addFocusVisibleClass(el) {\n if (el.classList.contains('focus-visible')) {\n return;\n }\n el.classList.add('focus-visible');\n el.setAttribute('data-focus-visible-added', '');\n }\n\n /**\n * Remove the `focus-visible` class from the given element if it was not\n * originally added by the author.\n * @param {Element} el\n */\n function removeFocusVisibleClass(el) {\n if (!el.hasAttribute('data-focus-visible-added')) {\n return;\n }\n el.classList.remove('focus-visible');\n el.removeAttribute('data-focus-visible-added');\n }\n\n /**\n * If the most recent user interaction was via the keyboard;\n * and the key press did not include a meta, alt/option, or control key;\n * then the modality is keyboard. Otherwise, the modality is not keyboard.\n * Apply `focus-visible` to any current active element and keep track\n * of our keyboard modality state with `hadKeyboardEvent`.\n * @param {KeyboardEvent} e\n */\n function onKeyDown(e) {\n if (e.metaKey || e.altKey || e.ctrlKey) {\n return;\n }\n\n if (isValidFocusTarget(scope.activeElement)) {\n addFocusVisibleClass(scope.activeElement);\n }\n\n hadKeyboardEvent = true;\n }\n\n /**\n * If at any point a user clicks with a pointing device, ensure that we change\n * the modality away from keyboard.\n * This avoids the situation where a user presses a key on an already focused\n * element, and then clicks on a different element, focusing it with a\n * pointing device, while we still think we're in keyboard modality.\n * @param {Event} e\n */\n function onPointerDown(e) {\n hadKeyboardEvent = false;\n }\n\n /**\n * On `focus`, add the `focus-visible` class to the target if:\n * - the target received focus as a result of keyboard navigation, or\n * - the event target is an element that will likely require interaction\n * via the keyboard (e.g. a text box)\n * @param {Event} e\n */\n function onFocus(e) {\n // Prevent IE from focusing the document or HTML element.\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (hadKeyboardEvent || focusTriggersKeyboardModality(e.target)) {\n addFocusVisibleClass(e.target);\n }\n }\n\n /**\n * On `blur`, remove the `focus-visible` class from the target.\n * @param {Event} e\n */\n function onBlur(e) {\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (\n e.target.classList.contains('focus-visible') ||\n e.target.hasAttribute('data-focus-visible-added')\n ) {\n // To detect a tab/window switch, we look for a blur event followed\n // rapidly by a visibility change.\n // If we don't see a visibility change within 100ms, it's probably a\n // regular focus change.\n hadFocusVisibleRecently = true;\n window.clearTimeout(hadFocusVisibleRecentlyTimeout);\n hadFocusVisibleRecentlyTimeout = window.setTimeout(function() {\n hadFocusVisibleRecently = false;\n window.clearTimeout(hadFocusVisibleRecentlyTimeout);\n }, 100);\n removeFocusVisibleClass(e.target);\n }\n }\n\n /**\n * If the user changes tabs, keep track of whether or not the previously\n * focused element had .focus-visible.\n * @param {Event} e\n */\n function onVisibilityChange(e) {\n if (document.visibilityState == 'hidden') {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n if (hadFocusVisibleRecently) {\n hadKeyboardEvent = true;\n }\n addInitialPointerMoveListeners();\n }\n }\n\n /**\n * Add a group of listeners to detect usage of any pointing devices.\n * These listeners will be added when the polyfill first loads, and anytime\n * the window is blurred, so that they are active when the window regains\n * focus.\n */\n function addInitialPointerMoveListeners() {\n document.addEventListener('mousemove', onInitialPointerMove);\n document.addEventListener('mousedown', onInitialPointerMove);\n document.addEventListener('mouseup', onInitialPointerMove);\n document.addEventListener('pointermove', onInitialPointerMove);\n document.addEventListener('pointerdown', onInitialPointerMove);\n document.addEventListener('pointerup', onInitialPointerMove);\n document.addEventListener('touchmove', onInitialPointerMove);\n document.addEventListener('touchstart', onInitialPointerMove);\n document.addEventListener('touchend', onInitialPointerMove);\n }\n\n function removeInitialPointerMoveListeners() {\n document.removeEventListener('mousemove', onInitialPointerMove);\n document.removeEventListener('mousedown', onInitialPointerMove);\n document.removeEventListener('mouseup', onInitialPointerMove);\n document.removeEventListener('pointermove', onInitialPointerMove);\n document.removeEventListener('pointerdown', onInitialPointerMove);\n document.removeEventListener('pointerup', onInitialPointerMove);\n document.removeEventListener('touchmove', onInitialPointerMove);\n document.removeEventListener('touchstart', onInitialPointerMove);\n document.removeEventListener('touchend', onInitialPointerMove);\n }\n\n /**\n * When the polfyill first loads, assume the user is in keyboard modality.\n * If any event is received from a pointing device (e.g. mouse, pointer,\n * touch), turn off keyboard modality.\n * This accounts for situations where focus enters the page from the URL bar.\n * @param {Event} e\n */\n function onInitialPointerMove(e) {\n // Work around a Safari quirk that fires a mousemove on whenever the\n // window blurs, even if you're tabbing out of the page. ¯\\_(ツ)_/¯\n if (e.target.nodeName && e.target.nodeName.toLowerCase() === 'html') {\n return;\n }\n\n hadKeyboardEvent = false;\n removeInitialPointerMoveListeners();\n }\n\n // For some kinds of state, we are interested in changes at the global scope\n // only. For example, global pointer input, global key presses and global\n // visibility change should affect the state at every scope:\n document.addEventListener('keydown', onKeyDown, true);\n document.addEventListener('mousedown', onPointerDown, true);\n document.addEventListener('pointerdown', onPointerDown, true);\n document.addEventListener('touchstart', onPointerDown, true);\n document.addEventListener('visibilitychange', onVisibilityChange, true);\n\n addInitialPointerMoveListeners();\n\n // For focus and blur, we specifically care about state changes in the local\n // scope. This is because focus / blur events that originate from within a\n // shadow root are not re-dispatched from the host element if it was already\n // the active element in its own scope:\n scope.addEventListener('focus', onFocus, true);\n scope.addEventListener('blur', onBlur, true);\n\n // We detect that a node is a ShadowRoot by ensuring that it is a\n // DocumentFragment and also has a host property. This check covers native\n // implementation and polyfill implementation transparently. If we only cared\n // about the native implementation, we could just check if the scope was\n // an instance of a ShadowRoot.\n if (scope.nodeType === Node.DOCUMENT_FRAGMENT_NODE && scope.host) {\n // Since a ShadowRoot is a special kind of DocumentFragment, it does not\n // have a root element to add a class to. So, we add this attribute to the\n // host element instead:\n scope.host.setAttribute('data-js-focus-visible', '');\n } else if (scope.nodeType === Node.DOCUMENT_NODE) {\n document.documentElement.classList.add('js-focus-visible');\n }\n }\n\n // It is important to wrap all references to global window and document in\n // these checks to support server-side rendering use cases\n // @see https://github.com/WICG/focus-visible/issues/199\n if (typeof window !== 'undefined' && typeof document !== 'undefined') {\n // Make the polyfill helper globally available. This can be used as a signal\n // to interested libraries that wish to coordinate with the polyfill for e.g.,\n // applying the polyfill to a shadow root:\n window.applyFocusVisiblePolyfill = applyFocusVisiblePolyfill;\n\n // Notify interested libraries of the polyfill's presence, in case the\n // polyfill was loaded lazily:\n var event;\n\n try {\n event = new CustomEvent('focus-visible-polyfill-ready');\n } catch (error) {\n // IE11 does not support using CustomEvent as a constructor directly:\n event = document.createEvent('CustomEvent');\n event.initCustomEvent('focus-visible-polyfill-ready', false, false, {});\n }\n\n window.dispatchEvent(event);\n }\n\n if (typeof document !== 'undefined') {\n // Apply the polyfill to the global document, so that no JavaScript\n // coordination is required to use the polyfill in the top-level document:\n applyFocusVisiblePolyfill(document);\n }\n\n})));\n","/**\n * _browser.js\n * Display a message to non supported browser.\n *\n * If needed you can update the markup of the message\n * and/or the body of browserIsCompatible() function to adjust the test based on which browsers you want to support.\n */\n\n$(function() {\n 'use strict';\n\n var html = '

\\\n Votre navigateur est désuet !\\\n
\\\n Mettez à jour votre navigateur pour afficher correctement ce site Web.\\\n
\\\n \\\n Mettre à jour maintenant\\\n \\\n

';\n\n function browserIsCompatible(){\n // By default we treat all browsers has compatible\n var isCompatible = true;\n\n /*\n * No IE versions supports @supports{} and if we rely on caniuse stats this feature is pretty well supported :\n * https://caniuse.com/#search=supports\n * So this must cover our comptaibility expectations (usually last 2 versions)\n */\n var cssSupports = 'CSS' in window && 'supports' in window.CSS || 'supportsCSS' in window;\n // Target IE11 only : https://stackoverflow.com/questions/21825157/internet-explorer-11-detection\n var isIE11 = !!window.MSInputMethodContext && !!document.documentMode;\n\n // If doesn't support @supports{} and is not IE11\n if(!cssSupports && !isIE11){\n isCompatible = false;\n }\n\n var version = detectIE();\n if (version && version < 12) {\n isCompatible = false;\n }\n\n var version = detectSafari();\n if (version && version < 15) {\n isCompatible = false;\n }\n\n return isCompatible;\n }\n\n // When DOM is ready, if browser is not supported then we display the disclaimer message.\n $(document).ready(function(){\n if(!browserIsCompatible()){\n $('body').prepend(html);\n $document.on('scroll', function() {\n if ($(this).scrollTop() > 100) {\n $('.c-browser').fadeOut();\n }\n else {\n $('.c-browser').fadeIn();\n }\n })\n }\n });\n\n function detectSafari() {\n var ua = window.navigator.userAgent;\n\n var safari = ua.indexOf('AppleWebKit/');\n if (!safari) {\n return false;\n }\n\n var version = ua.indexOf('Version/');\n if (version > 0) {\n return parseInt(ua.substring(version + 8, ua.indexOf('Safari/')-1));\n }\n\n return false;\n }\n\n /**\n * https://codepen.io/gapcode/pen/vEJNZN\n * detect IE\n * returns version of IE or false, if browser is not Internet Explorer\n */\n function detectIE() {\n var ua = window.navigator.userAgent;\n\n // Test values; Uncomment to check result …\n\n // IE 10\n // ua = 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)';\n\n // IE 11\n // ua = 'Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko';\n\n // Edge 12 (Spartan)\n // ua = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0';\n\n // Edge 13\n // ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586';\n\n var msie = ua.indexOf('MSIE ');\n if (msie > 0) {\n // IE 10 or older => return version number\n return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\n }\n\n var trident = ua.indexOf('Trident/');\n if (trident > 0) {\n // IE 11 => return version number\n var rv = ua.indexOf('rv:');\n return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\n }\n\n var edge = ua.indexOf('Edge/');\n if (edge > 0) {\n // Edge (IE 12+) => return version number\n return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\n }\n\n // other browser\n return false;\n }\n\n});\n","(function($) {\n $(function() {\n var hash = window.location.hash.toString().replace('#', '');\n if (hash) {\n $('.js-letters').children().removeClass('c-definitions__letter--active');\n $('#side-' + hash).addClass('c-definitions__letter--active');\n }\n\n $('.js-letters').children().on('click', function() {\n $('.js-letters').children().removeClass('c-definitions__letter--active');\n $(this).addClass('c-definitions__letter--active');\n });\n });\n})(jQuery);\n","// require blankshield/blankshield.js\n// $(function() {\n// $document.on('click', 'a[href]:not([href=\"#\"])', function (e) {\n// var this_hostname = String(this.hostname).replace(/^[a-z]{2}\\./, '');\n// var location_hostname = String(location.hostname).replace(/^[a-z]{2}\\./, '');\n\n// var isExternal = !this.href.match(/^(mailto|tel)\\:/) && // Disable if mailto: or tel:\n// !this.download && // Disable if download attribute\n// (this.href.match(/\\.(pdf|xls|doc|ppt)/) || // Enable if documents\n// this_hostname != location_hostname || // Enable if different domain\n// (this.target && this.target == '_blank') || // Enable if target _blank\n// (this.rel && this.rel.match(/external|noopener/))); // Enable if rel=external or noopener\n\n// if (isExternal) {\n// blankshield.open(this);\n// e.preventDefault();\n// }\n// });\n// });\n\n$(document).find('a[href]:not([href=\"#\"])').each(function (index, link) {\n var isBlankable =\n !link.href.match(/^(mailto|tel)\\:/) && // Ignore mailto and tel\n (link.href.match(/\\.(pdf|xls|doc|ppt)/) || // Enable if document\n (link.hostname != location.hostname && (!link.download || !link.target || !link.rel))); // Enable if different domain with no download, target or rel attributes\n\n if (isBlankable && !link.target) {\n link.target = \"_blank\";\n link.rel = \"noopener\";\n }\n});","$(function() {\n var $body = $('body'),\n $header = $('#header'),\n $navigation = $('#navigation'),\n $button = $('#navigation-button'),\n $links = $('.js-navigation-link, .js-navigation-sublink'),\n was_mobile = $button.css('display') === 'none' ? false : true,\n now_mobile = was_mobile\n scrollTop = 0,\n didResize = true;\n\n if (!$header.length) return true;\n\n $window.on('resize', function () {\n didResize = true;\n });\n\n $button.on('click', function(event) {\n event.preventDefault();\n event.stopPropagation();\n\n if (!now_mobile && !was_mobile) return;\n\n var navigation_visible = $navigation.attr('aria-hidden') === 'true' ? false : true;\n\n $button.attr('aria-expanded', !navigation_visible);\n $navigation.attr('aria-hidden', navigation_visible);\n $header.toggleClass('l-header--navigation-expanded', !navigation_visible);\n\n // if(navigation_visible) {\n // $body.removeClass('no-scroll').css('top', '');\n // $window.scrollTop(scrollTop);\n // }\n // else {\n // scrollTop = $window.scrollTop();\n // $body.addClass('no-scroll').css('top', -scrollTop + 'px');\n // }\n });\n\n $links.on('click', function() {\n var $this = $(this);\n\n if ($this.parent().hasClass('l-navigation__item--withsub') || $this.parent().hasClass('l-navigation__subitem--withside')) {\n return;\n }\n\n if ($navigation.attr('aria-hidden') === 'false') {\n $button.trigger('click');\n }\n });\n\n $(document).click(function(e) {\n if ($(e.target).closest('#navigation').length == 0 && $navigation.attr('aria-hidden') === 'false') {\n $button.trigger('click');\n }\n });\n\n // $document.on('click', function(event) {\n // if(Modernizr.touchevents) {\n // var $this = $(event.target);\n //\n // if($this.hasClass('js-navigation-link')) {\n // if(!$this.parent().hasClass('is-active')) {\n // event.preventDefault();\n //\n // $links.parent().removeClass('is-active');\n //\n // $this.parent().addClass('is-active');\n // }\n // } else {\n // $links.parent().removeClass('is-active');\n // }\n // }\n // });\n\n (function loop () {\n requestAnimationFrame(loop);\n\n if (didResize) {\n now_mobile = $button.css('display') === 'none' ? false : true;\n\n if(!now_mobile && was_mobile) {\n var navigation_visible = $navigation.attr('aria-hidden') === 'true' ? false : true;\n if (navigation_visible) {\n $('.l-navigation__item--subexpanded').removeClass('l-navigation__item--subexpanded');\n $('.l-navigation__sub--visible').removeClass('l-navigation__sub--visible');\n $('.l-navigation__subitem--sideexpanded').removeClass('l-navigation__subitem--sideexpanded');\n $('.l-navigation__side--visible').removeClass('l-navigation__side--visible');\n\n $button.trigger('click');\n }\n }\n\n was_mobile = now_mobile;\n didResize = false;\n }\n })();\n\n});\n","(function($){\n $(function() {\n $('.js-password-show').on('click', function(e) {\n e.preventDefault();\n\n var $input = $(this).parent().find('input');\n if ($input.attr('type') == 'password') {\n $input.attr('type', 'text');\n }\n else {\n $input.attr('type', 'password');\n }\n });\n });\n})(jQuery);\n"]}