{"version":3,"file":"front.js","sources":["../../node_modules/mdn-polyfills/NodeList.prototype.forEach.js","../../sources/javascripts/front/components/color/Color.js","../../sources/javascripts/front/components/color/lifecycle.js","../../sources/javascripts/front/components/icon/IconPicker.js","../../sources/javascripts/front/components/icon/lifecycle.js","../../sources/javascripts/front/components/toggler/Toggler.js","../../sources/javascripts/front/components/navigation/Navigation.js","../../node_modules/vh-check/dist/vh-check.js","../../sources/javascripts/front/components/header/Header.js","../../sources/javascripts/front/components/header/lifecycle.js","../../sources/javascripts/front/components/summary/Summary.js","../../sources/javascripts/front/components/summary/lifecycle.js"],"sourcesContent":["window.NodeList&&!NodeList.prototype.forEach&&(NodeList.prototype.forEach=function(o,t){t=t||window;for(var i=0;i {\n this.buttonCopied.setAttribute('hidden', '');\n this.buttonLabel.removeAttribute('hidden');\n this.buttonIcon.innerHTML = this.svgDefault\n }, \"5000\")\n }\n\n unmount() {\n\n }\n}\n","import 'mdn-polyfills/NodeList.prototype.forEach';\nimport Color from './Color';\n\ndocument.addEventListener('DOMContentLoaded', () => {\n const colors = document.querySelectorAll('.js-color');\n if (!colors.length) {\n return;\n }\n\n colors.forEach((element) => {\n const color = new Color(element);\n color.mount(element);\n });\n});\n","import 'mdn-polyfills/NodeList.prototype.forEach';\n\nexport default class IconPicker {\n constructor(element) {\n this.element = element;\n this.filtersInputs = this.element.querySelectorAll(\".c-filter__input\");\n this.iconList = this.element.querySelector(\".c-download-icon__items\");\n this.srColor = this.element.querySelectorAll(\".c-download-icon__item__label--sr--color\");\n this.srFormat = this.element.querySelectorAll(\".c-download-icon__item__label--sr--format\");\n this.selectedColor=\"black\";\n this.selectedFormat=\"svg\";\n this.downloadUrl;\n this.selectedIcon;\n this.filename;\n\n this.buttonsSubmit = this.element.querySelectorAll(\".c-download-icon__item\");\n\n this.change = this.change.bind(this);\n\n }\n\n mount() {\n this.filtersInputs.forEach((filterInput, index) => {\n filterInput.addEventListener('change', this.change);\n });\n }\n\n change(e) {\n if(e.target.getAttribute('data-name')===\"color\"){\n this.iconList.setAttribute(\"data-color\", e.target.getAttribute('value'));\n this.iconList.className =\"c-download-icon__items c-download-icon__items--\" + e.target.getAttribute('value');\n this.iconList.querySelector(\".c-download-icon__item__label--sr--color\").innerText=e.target.getAttribute('value');\n this.selectedColor=e.target.getAttribute('value');\n let srColorLabel;\n if (this.selectedColor == \"black\") {\n srColorLabel = \"noir\";\n }else {\n srColorLabel = \"blanc\";\n }\n\n for (let i = 0; i < this.srColor.length; i++) {\n const element = this.srColor[i];\n element.innerText= srColorLabel;\n }\n\n }else {\n this.iconList.setAttribute(\"data-format\", e.target.getAttribute('value'));\n this.iconList.querySelector(\".c-download-icon__item__label--sr--format\").innerText=e.target.getAttribute('value');\n this.selectedFormat=e.target.getAttribute('value');\n\n for (let i = 0; i < this.srFormat.length; i++) {\n const element = this.srFormat[i];\n element.innerText= this.selectedFormat\n }\n }\n\n this.buttonsSubmit.forEach((buttonSubmit, index) => {\n this.downloadUrl = buttonSubmit.getAttribute('data-'+this.selectedColor+'-'+this.selectedFormat);\n buttonSubmit.setAttribute(\"href\",this.downloadUrl);\n })\n\n }\n\n unmount() {\n\n }\n}\n","import 'mdn-polyfills/NodeList.prototype.forEach';\nimport IconPicker from './IconPicker';\n\n\n\ndocument.addEventListener('DOMContentLoaded', () => {\n const iconPickers = document.querySelectorAll('.js-iconDownload');\n if (!iconPickers.length) {\n return;\n }\n\n iconPickers.forEach((element) => {\n const iconPicker = new IconPicker(element);\n iconPicker.mount(element);\n });\n});\n","export default class Toggler {\n constructor(element, target, autoClose = false) {\n this.element = element;\n this.target = target;\n this.autoClose = autoClose;\n this.autoFocus = true;\n this.expanded = null;\n this.mounted = false;\n this.isWaiting = false;\n this.lastEventType = null;\n\n this.handleClick = this.handleClick.bind(this);\n this.handleKeyup = this.handleKeyup.bind(this);\n this.handleTarget = this.handleTarget.bind(this);\n this.handleToggling = this.handleToggling.bind(this);\n this.handleTransitionEnd = this.handleTransitionEnd.bind(this);\n this.handleAnimationEnd = this.handleAnimationEnd.bind(this);\n this.handleAutoClose = this.handleAutoClose.bind(this);\n }\n\n handleAutoClose(e) {\n this.lastEventType = e.type;\n if (\n !this.target.contains(e.target)\n && !this.element.contains(e.target)\n && !this.isWaiting\n ) {\n this.hide();\n document.removeEventListener('click', this.handleAutoClose);\n document.removeEventListener('keyup', this.handleAutoClose);\n }\n }\n\n handleClick(e) {\n e.preventDefault();\n this.target.dispatchEvent(new CustomEvent('toggling', { detail: { toggler: this } }));\n this.toggle();\n }\n\n handleKeyup(e) {\n if (e.key === ' ' || e.key === 'Enter') {\n e.preventDefault();\n this.toggle();\n }\n }\n\n handleTarget(e) {\n if (e.detail.toggler.element !== this.element) {\n this.expanded = e.detail.toggler.expanded;\n this.element.setAttribute('aria-expanded', this.expanded);\n this.isWaiting = false;\n this.element.dispatchEvent(new CustomEvent('toggler:change', { detail: { toggler: this } }));\n }\n }\n\n handleToggling(e) {\n if (e.detail.toggler.element !== this.element) {\n this.isWaiting = true;\n }\n }\n\n handleTransitionEnd() {\n this.target.setAttribute('aria-hidden', 'true');\n this.target.classList.remove('is-hiding');\n this.element.dispatchEvent(new CustomEvent('toggler:hide', { detail: { toggler: this } }));\n this.target.removeEventListener('transitionend', this.handleTransitionEnd);\n this.target.dispatchEvent(new CustomEvent('update', { detail: { toggler: this } }));\n }\n\n handleAnimationEnd() {\n this.target.removeEventListener('transitionend', this.handleAnimationEnd);\n this.target.dispatchEvent(new CustomEvent('update', { detail: { toggler: this } }));\n }\n\n toggle() {\n if (this.expanded) {\n this.hide();\n } else {\n this.show();\n }\n }\n\n show() {\n if(this.mounted) {\n this.element.setAttribute('aria-expanded', 'true');\n this.target.addEventListener('animationend', this.handleAnimationEnd);\n this.target.setAttribute('aria-hidden', 'false');\n this.expanded = true;\n\n if(this.autoFocus) {\n this.target.focus();\n }\n\n this.target.classList.remove('is-hiding');\n this.element.dispatchEvent(new CustomEvent('toggler:show', { detail: { toggler: this } }));\n\n if (this.autoClose) {\n document.addEventListener('click', this.handleAutoClose);\n document.addEventListener('keyup', this.handleAutoClose);\n }\n }\n }\n\n hide(ignore = false) {\n if(this.mounted) {\n if (this.autoClose) {\n document.removeEventListener('click', this.handleAutoClose);\n document.removeEventListener('keyup', this.handleAutoClose);\n }\n\n if (ignore) {\n this.element.setAttribute('aria-expanded', 'false');\n this.target.setAttribute('aria-hidden', 'true');\n this.expanded = false;\n } else {\n this.target.addEventListener('transitionend', this.handleTransitionEnd);\n this.target.classList.add('is-hiding');\n this.expanded = false;\n this.element.setAttribute('aria-expanded', 'false');\n this.element.dispatchEvent(new CustomEvent('toggler:hiding', { detail: { toggler: this } }));\n }\n }\n }\n\n mount() {\n this.element.setAttribute('aria-controls', this.target.id);\n this.element.setAttribute('aria-expanded', 'false');\n this.target.setAttribute('aria-hidden', 'true');\n this.target.setAttribute('tabindex', '-1');\n this.expanded = false;\n this.mounted = true;\n\n if (this.element.tagName !== 'BUTTON') {\n this.element.setAttribute('role', 'button');\n this.element.setAttribute('tabindex', 0);\n this.element.addEventListener('keyup', this.handleKeyup);\n }\n\n this.element.addEventListener('click', this.handleClick);\n this.target.addEventListener('update', this.handleTarget);\n this.target.addEventListener('toggling', this.handleToggling);\n this.element.dispatchEvent(new CustomEvent('toggler:mounted', { detail: { toggler: this } }));\n }\n\n unmount() {\n this.element.removeAttribute('aria-controls');\n this.element.removeAttribute('aria-expanded');\n this.target.removeAttribute('aria-hidden');\n this.target.removeAttribute('tabindex');\n this.target.classList.remove('is-hiding');\n this.expanded = null;\n this.mounted = false;\n\n if (this.element.tagName !== 'BUTTON') {\n this.element.removeAttribute('role');\n this.element.removeAttribute('tabindex');\n this.element.removeEventListener('keyup', this.handleKeyup);\n }\n\n this.element.removeEventListener('click', this.handleClick);\n this.target.removeEventListener('update', this.handleTarget);\n this.target.removeEventListener('toggling', this.handleToggling);\n this.target.removeEventListener('transitionend', this.handleTransitionEnd);\n this.target.removeEventListener('transitionend', this.handleAnimationEnd);\n this.element.dispatchEvent(new CustomEvent('toggler:unmounted', { detail: { toggler: this } }));\n }\n}\n","import 'mdn-polyfills/NodeList.prototype.forEach';\nimport Toggler from '../toggler/Toggler';\n\nexport default class Navigation {\n constructor(element) {\n this.element = element;\n this.togglers = [];\n this.toggler = null;\n this.hasMegaMenu = false;\n this.tmp = this.element.offsetWidth;\n\n this.handleTargetChange = this.handleTargetChange.bind(this);\n this.handleTogglerHide = this.handleTogglerHide.bind(this);\n this.handleTogglerShow = this.handleTogglerShow.bind(this);\n }\n\n handleTargetChange(e) {\n this.updateBackdrop();\n }\n\n handleTogglerHide(e) {\n if(this.toggler && e.detail.toggler.lastEventType !== 'keyup') {\n this.toggler.focus();\n }\n if (this.toggler === e.detail.toggler.element) {\n this.toggler = null;\n }\n this.updateBackdrop();\n this.element.dispatchEvent(new CustomEvent('navigation:update'));\n }\n\n handleTogglerShow(e) {\n this.togglers.forEach((toggler) => {\n if (toggler.target !== e.detail.toggler.target && toggler.expanded) {\n toggler.hide();\n }\n });\n this.toggler = e.detail.toggler.element;\n this.updateBackdrop();\n this.element.dispatchEvent(new CustomEvent('navigation:update'));\n }\n\n updateBackdrop() {\n let hasTogglerExpanded = false;\n\n this.togglers.forEach((toggler) => {\n toggler.expanded ? hasTogglerExpanded = true : hasTogglerExpanded;\n })\n\n if(hasTogglerExpanded) {\n this.hasMegaMenu = true;\n this.element.classList.add('has-megamenu');\n } else {\n this.hasMegaMenu = false;\n this.element.classList.remove('has-megamenu');\n }\n }\n\n mount() {\n this.element.querySelectorAll('[data-navigation-toggler]').forEach((element) => {\n const target = document.getElementById(element.dataset.navigationToggler);\n const toggler = new Toggler(element, target, true);\n this.togglers.push(toggler);\n\n element.addEventListener('toggler:hide', this.handleTogglerHide);\n element.addEventListener('toggler:show', this.handleTogglerShow);\n element.addEventListener('toggler:change', this.handleTargetChange);\n\n toggler.mount();\n });\n }\n\n unmount() {\n this.hasMegaMenu = false;\n this.element.classList.remove('has-megamenu');\n\n this.togglers.forEach((toggler) => {\n toggler.element.removeEventListener('toggler:hide', this.handleTogglerHide);\n toggler.element.removeEventListener('toggler:show', this.handleTogglerShow);\n toggler.element.removeEventListener('toggler:change', this.handleTargetChange);\n toggler.unmount();\n });\n\n this.togglers = [];\n }\n}\n","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global.vhCheck = factory());\n}(this, (function () { 'use strict';\n\n /*! *****************************************************************************\r\n Copyright (c) Microsoft Corporation. All rights reserved.\r\n Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\n this file except in compliance with the License. You may obtain a copy of the\r\n License at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\n THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\n WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\n MERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\n See the Apache Version 2.0 License for specific language governing permissions\r\n and limitations under the License.\r\n ***************************************************************************** */\r\n\r\n var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n };\n\n // don't know a better way to get the size of a CSS 100vh…\r\n function createTestElement() {\r\n var testElement = document.createElement('div');\r\n testElement.style.cssText =\r\n 'position: fixed; top: 0; height: 100vh; pointer-events: none;';\r\n document.documentElement.insertBefore(testElement, document.documentElement.firstChild);\r\n return testElement;\r\n }\r\n function removeTestElement(element) {\r\n document.documentElement.removeChild(element);\r\n }\r\n // in some browsers this will be bigger than window.innerHeight\r\n function checkSizes() {\r\n var vhTest = createTestElement();\r\n var windowHeight = window.innerHeight;\r\n var vh = vhTest.offsetHeight;\r\n var offset = vh - windowHeight;\r\n removeTestElement(vhTest);\r\n return {\r\n vh: vh,\r\n windowHeight: windowHeight,\r\n offset: offset,\r\n isNeeded: offset !== 0,\r\n value: 0,\r\n };\r\n }\r\n // export\r\n function noop() { }\r\n function computeDifference() {\r\n var sizes = checkSizes();\r\n sizes.value = sizes.offset;\r\n return sizes;\r\n }\r\n function redefineVhUnit() {\r\n var sizes = checkSizes();\r\n sizes.value = sizes.windowHeight * 0.01;\r\n return sizes;\r\n }\n\n var methods = /*#__PURE__*/Object.freeze({\n noop: noop,\n computeDifference: computeDifference,\n redefineVhUnit: redefineVhUnit\n });\n\n function isString(text) {\r\n return typeof text === \"string\" && text.length > 0;\r\n }\r\n function isFunction(f) {\r\n return typeof f === \"function\";\r\n }\r\n var defaultOptions = Object.freeze({\r\n cssVarName: 'vh-offset',\r\n redefineVh: false,\r\n method: computeDifference,\r\n force: false,\r\n bind: true,\r\n updateOnTouch: false,\r\n onUpdate: noop,\r\n });\r\n function getOptions(options) {\r\n // old options handling: only redefine the CSS var name\r\n if (isString(options)) {\r\n return __assign({}, defaultOptions, { cssVarName: options });\r\n }\r\n // be sure to have a configuration object\r\n if (typeof options !== 'object')\r\n return defaultOptions;\r\n // make sure we have the right options to start with\r\n var finalOptions = {\r\n force: options.force === true,\r\n bind: options.bind !== false,\r\n updateOnTouch: options.updateOnTouch === true,\r\n onUpdate: isFunction(options.onUpdate) ? options.onUpdate : noop,\r\n };\r\n // method change\r\n var redefineVh = options.redefineVh === true;\r\n finalOptions.method =\r\n methods[redefineVh ? 'redefineVhUnit' : 'computeDifference'];\r\n finalOptions.cssVarName = isString(options.cssVarName)\r\n ? options.cssVarName\r\n : redefineVh\r\n ? /*\r\n when redefining vh unit we follow this article name convention\r\n https://css-tricks.com/the-trick-to-viewport-units-on-mobile/\r\n */\r\n 'vh'\r\n : defaultOptions.cssVarName;\r\n return finalOptions;\r\n }\n\n // https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support\r\n var passiveSupported = false;\r\n var eventListeners = [];\r\n /* istanbul ignore next */\r\n try {\r\n var options = Object.defineProperty({}, \"passive\", {\r\n get: function () {\r\n passiveSupported = true;\r\n },\r\n });\r\n window.addEventListener(\"test\", options, options);\r\n window.removeEventListener(\"test\", options, options);\r\n }\r\n catch (err) {\r\n passiveSupported = false;\r\n }\r\n function addListener(eventName, callback) {\r\n eventListeners.push({\r\n eventName: eventName,\r\n callback: callback,\r\n });\r\n window.addEventListener(eventName, callback, \r\n /* istanbul ignore next */\r\n passiveSupported ? { passive: true } : false);\r\n }\r\n function removeAll() {\r\n eventListeners.forEach(function (config) {\r\n window.removeEventListener(config.eventName, config.callback);\r\n });\r\n eventListeners = [];\r\n }\n\n function updateCssVar(cssVarName, result) {\r\n document.documentElement.style.setProperty(\"--\" + cssVarName, result.value + \"px\");\r\n }\r\n function formatResult(sizes, options) {\r\n return __assign({}, sizes, { unbind: removeAll, recompute: options.method });\r\n }\r\n function vhCheck(options) {\r\n var config = Object.freeze(getOptions(options));\r\n var result = formatResult(config.method(), config);\r\n // usefulness check\r\n if (!result.isNeeded && !config.force) {\r\n return result;\r\n }\r\n updateCssVar(config.cssVarName, result);\r\n config.onUpdate(result);\r\n // enabled by default\r\n if (!config.bind)\r\n return result;\r\n function onWindowChange() {\r\n window.requestAnimationFrame(function () {\r\n var sizes = config.method();\r\n updateCssVar(config.cssVarName, sizes);\r\n config.onUpdate(formatResult(sizes, config));\r\n });\r\n }\r\n // be sure we don't duplicates events listeners\r\n result.unbind();\r\n // listen for orientation change\r\n // - this can't be configured\r\n // - because it's convenient and not a real performance bottleneck\r\n addListener('orientationchange', onWindowChange);\r\n // listen to touch move for scrolling\r\n // – disabled by default\r\n // - listening to scrolling can be expansive…\r\n if (config.updateOnTouch) {\r\n addListener('touchmove', onWindowChange);\r\n }\r\n return result;\r\n }\n\n return vhCheck;\n\n})));\n","import 'mdn-polyfills/NodeList.prototype.forEach';\nimport Toggler from '../toggler/Toggler';\nimport Navigation from '../navigation/Navigation';\nimport vhCheck from 'vh-check';\n\nexport default class Header {\n constructor(element) {\n this.element = element;\n this.navigationTogglers = [];\n this.height = this.element.offsetHeight;\n this.hasResized = true;\n this.tmpWidth = 0;\n this.hasScrolled = true;\n this.tmpScroll = document.documentElement.scrollTop;\n this.lastDcrollDown = document.documentElement.scrollTop;\n this.navigation = null;\n this.navigationToggler = null;\n this.burger = null;\n this.direction = 'down';\n this.isPinned = false;\n this.isSticky = false;\n this.hasNavigationActive = false;\n\n this.handleNavigationHide = this.handleNavigationHide.bind(this);\n this.handleNavigationShow = this.handleNavigationShow.bind(this);\n this.handleNavigationUpdate = this.handleNavigationUpdate.bind(this);\n this.handleScroll = this.handleScroll.bind(this);\n this.handlePinned = this.handlePinned.bind(this);\n this.handleResize = this.handleResize.bind(this);\n }\n\n handleNavigationHide() {\n this.element.classList.remove('has-navigation-active');\n this.hasNavigationActive = false;\n\n\n this.navigationTogglers.forEach((toggler) => {\n toggler.element.setAttribute('aria-expanded', 'false');\n toggler.expanded = false;\n });\n\n this.navigationToggler.focus();\n this.navigationToggler = null;\n\n this.updateNavigation();\n }\n\n handleNavigationShow(e) {\n this.navigationToggler = e.detail.toggler.element;\n this.element.classList.add('has-navigation-active');\n this.hasNavigationActive = true;\n\n\n this.navigationTogglers.forEach((toggler) => {\n toggler.element.setAttribute('aria-expanded', 'true');\n toggler.expanded = true;\n });\n\n this.updateNavigation();\n }\n\n handleNavigationUpdate() {\n this.updateNavigation();\n }\n\n handlePinned() {\n this.element.removeEventListener('transitionend', this.handlePinned);\n this.element.classList.remove('is-pinned');\n this.element.classList.remove('is-leaving');\n this.isPinned = false;\n }\n\n handleScroll() {\n this.hasScrolled = true;\n }\n\n handleResize() {\n this.hasResized = true;\n }\n\n calculate() {\n const vh = vhCheck();\n this.height = this.element.offsetHeight;\n }\n\n updateNavigation() {\n let isNavigationHasTogglerExpanded = false;\n\n if(this.burger.getAttribute(\"aria-expanded\") === \"true\"){\n this.burger.querySelector(\".c-burger__label\").innerText = \"Fermer\";\n } else {\n this.burger.querySelector(\".c-burger__label\").innerText = \"Menu\";\n }\n\n this.calculate();\n }\n\n updateResize() {\n if (this.tmpWidth !== this.element.offsetWidth) {\n this.height = this.element.offsetHeight;\n this.navigationTogglers.forEach((toggler) => {\n const isTogglable = window.getComputedStyle(this.burger).getPropertyValue('display') !== 'none';\n\n if (toggler.mounted !== isTogglable) {\n if (isTogglable) {\n toggler.mount();\n this.burger.querySelector(\".c-burger__label\").innerText = \"Menu\";\n } else {\n toggler.unmount();\n this.element.classList.remove('has-navigation-active');\n this.hasNavigationActive = false;\n }\n }\n });\n\n this.tmpWidth = this.element.offsetWidth;\n this.calculate();\n }\n }\n\n updateScroll() {\n if(this.navigation){\n if(!this.hasNavigationActive && !this.navigation.hasMegaMenu) {\n if(document.documentElement.scrollTop > this.tmpScroll) {\n this.lastDcrollDown = document.documentElement.scrollTop;\n this.direction = 'down';\n } else {\n this.direction = 'up';\n }\n\n if (document.documentElement.scrollTop > this.height) {\n this.element.classList.add('is-sticky');\n this.isSticky = true;\n this.calculate();\n } else {\n this.element.classList.remove('is-sticky');\n this.element.classList.remove('is-pinned');\n this.isSticky = false;\n this.isPinned = false;\n this.calculate();\n }\n\n if(this.isSticky) {\n if (this.direction === 'up') {\n const delta = this.lastDcrollDown - document.documentElement.scrollTop;\n if(delta > 150) {\n this.element.classList.add('is-pinned');\n this.isPinned = true;\n }\n } else {\n if(this.isPinned) {\n this.element.addEventListener('transitionend', this.handlePinned);\n this.element.classList.add('is-leaving');\n }\n }\n }\n\n this.tmpScroll = document.documentElement.scrollTop;\n }\n }\n }\n\n mount() {\n const nav = this.element.querySelector('#navigation');\n if (nav) {\n this.navigation = new Navigation(nav);\n this.navigation.element.addEventListener('navigation:update', this.handleNavigationUpdate);\n this.navigation.mount();\n }\n\n this.burger = this.element.querySelector('#header-burger');\n\n this.element.querySelectorAll('[data-header-toggler=\"navigation\"]').forEach((element) => {\n const target = document.getElementById(element.dataset.headerToggler);\n const toggler = new Toggler(element, target);\n this.navigationTogglers.push(toggler);\n element.addEventListener('toggler:hide', this.handleNavigationHide);\n element.addEventListener('toggler:show', this.handleNavigationShow);\n\n if (\n window.getComputedStyle(this.burger).getPropertyValue('display') !== 'none'\n ) {\n toggler.mount();\n }\n });\n\n window.addEventListener('resize', this.handleResize);\n window.addEventListener('scroll', this.handleScroll);\n\n const loop = () => {\n if (this.hasScrolled) {\n this.updateScroll();\n this.hasScrolled = false;\n }\n if (this.hasResized) {\n this.updateResize();\n this.hasResized = false;\n }\n\n requestAnimationFrame(loop);\n }\n\n loop();\n\n this.element.classList.add('is-mounted');\n this.calculate();\n }\n\n unmount() {\n window.removeEventListener('resize', this.handleResize);\n window.removeEventListener('scroll', this.handleScroll);\n\n if(this.navigationTogglers) {\n this.navigationTogglers.forEach((toggler) => {\n toggler.element.removeEventListener('toggler:hide', this.handleNavigationHide);\n toggler.element.removeEventListener('toggler:show', this.handleNavigationShow);\n toggler.unmount();\n });\n this.navigationTogglers = [];\n }\n\n if (this.navigation) {\n this.navigation.element.removeEventListener('navigation:update', this.handleNavigationUpdate);\n this.navigation.unmount();\n this.navigation = null;\n }\n\n this.element.classList.remove('is-mounted');\n }\n}\n","import Header from './Header';\n\ndocument.addEventListener('DOMContentLoaded', () => {\n const headerElement = document.getElementById('header');\n if (headerElement) {\n const header = new Header(headerElement);\n header.mount();\n }\n});\n","import 'mdn-polyfills/NodeList.prototype.forEach';\n\nexport default class Summary {\n constructor(element) {\n this.element = element;\n this.summary = this.element.querySelector(\".js-transcript__summary\");\n this.summaryLabel = this.element.querySelector(\".c-transcription__link--control\");\n\n this.toggle = this.toggle.bind(this);\n }\n\n mount() {\n this.element.setAttribute(\"id\", \"1\");\n this.summary.setAttribute(\"aria-controls\", \"1\");\n this.summary.setAttribute(\"aria-expanded\", \"false\");\n this.summary.addEventListener('click', this.toggle);\n }\n\n toggle() {\n if (this.element.hasAttribute(\"open\")) {\n this.summary.setAttribute(\"aria-expanded\",\"false\");\n this.summaryLabel.innerText =\"Afficher la transcription\";\n } else {\n this.summary.setAttribute(\"aria-expanded\",\"true\");\n this.summaryLabel.innerText =\"Masquer la transcription\";\n }\n }\n\n unmount() {\n\n }\n}\n","import 'mdn-polyfills/NodeList.prototype.forEach';\nimport Summary from './Summary';\n\ndocument.addEventListener('DOMContentLoaded', () => {\n const summarys = document.querySelectorAll('.js-transcription');\n if (!summarys.length) {\n return;\n }\n\n summarys.forEach((element) => {\n const summary = new Summary(element);\n summary.mount(element);\n });\n});\n"],"names":["window","NodeList","prototype","forEach","o","t","i","this","length","call","Color","constructor","element","button","querySelector","buttonIcon","buttonLabel","buttonCopied","hexaValue","getAttribute","copy","bind","svgColler","svgDefault","mount","isSecureContext","classList","add","addEventListener","svgDefult","navigator","clipboard","writeText","setAttribute","removeAttribute","innerHTML","setTimeout","unmount","document","colors","querySelectorAll","IconPicker","filtersInputs","iconList","srColor","srFormat","selectedColor","selectedFormat","downloadUrl","selectedIcon","filename","buttonsSubmit","change","filterInput","index","e","target","srColorLabel","className","innerText","buttonSubmit","iconPickers","Toggler","autoClose","autoFocus","expanded","mounted","isWaiting","lastEventType","handleClick","handleKeyup","handleTarget","handleToggling","handleTransitionEnd","handleAnimationEnd","handleAutoClose","type","contains","hide","removeEventListener","preventDefault","dispatchEvent","CustomEvent","detail","toggler","toggle","key","remove","show","focus","ignore","id","tagName","Navigation","togglers","hasMegaMenu","tmp","offsetWidth","handleTargetChange","handleTogglerHide","handleTogglerShow","updateBackdrop","hasTogglerExpanded","getElementById","dataset","navigationToggler","push","exports","__assign","Object","assign","s","n","arguments","p","hasOwnProperty","apply","createTestElement","testElement","createElement","style","cssText","documentElement","insertBefore","firstChild","removeTestElement","removeChild","checkSizes","vhTest","windowHeight","innerHeight","vh","offsetHeight","offset","isNeeded","value","noop","computeDifference","sizes","redefineVhUnit","methods","freeze","isString","text","isFunction","f","defaultOptions","cssVarName","redefineVh","method","force","updateOnTouch","onUpdate","getOptions","options","finalOptions","passiveSupported","eventListeners","defineProperty","get","err","addListener","eventName","callback","passive","removeAll","config","updateCssVar","result","setProperty","formatResult","unbind","recompute","vhCheck","onWindowChange","requestAnimationFrame","factory","Header","navigationTogglers","height","hasResized","tmpWidth","hasScrolled","tmpScroll","scrollTop","lastDcrollDown","navigation","burger","direction","isPinned","isSticky","hasNavigationActive","handleNavigationHide","handleNavigationShow","handleNavigationUpdate","handleScroll","handlePinned","handleResize","updateNavigation","calculate","updateResize","isTogglable","getComputedStyle","getPropertyValue","updateScroll","nav","headerToggler","loop","headerElement","Summary","summary","summaryLabel","hasAttribute","summarys"],"mappings":"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"}