{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./sgds/fonts/sgds-icons.svg","webpack:///./sgds/fonts/sgds-icons.ttf","webpack:///./sgds/fonts/sgds-icons.woff","webpack:///./node_modules/sticky-sidebar/src/sticky-sidebar.js","webpack:///./sgds/js/lib.js","webpack:///./sgds/index.js","webpack:///./sgds/js/sgds-sidenav.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","EVENT_KEY","DEFAULTS","StickySidebar","topSpacing","bottomSpacing","containerSelector","innerWrapperSelector","stickyClass","resizeSensor","minWidth","sidebar","_this","this","options","arguments","length","undefined","_classCallCheck","extend","document","querySelector","Error","sidebarInner","container","parentElement","affixedType","direction","support","transform","transform3d","_initialized","_reStyle","_breakpoint","_resizeListeners","dimensions","translateY","lastTopSpacing","lastBottomSpacing","sidebarHeight","sidebarWidth","containerTop","containerHeight","viewportHeight","viewportTop","lastViewportTop","forEach","method","initialize","result","upper","charAt","toUpperCase","slice","style","createElement","join","split","element","eventName","data","event","CustomEvent","detail","e","createEvent","initCustomEvent","dispatchEvent","defaults","results","left","top","offsetTop","offsetLeft","isNaN","tagName","offsetParent","className","hasClass","classList","add","remove","replace","RegExp","contains","test","_this2","_setSupportFeatures","wrapper","setAttribute","appendChild","firstChild","containers","querySelectorAll","Array","item","parseInt","_widthBreakpoint","calcDimensions","stickyPosition","bindEvents","window","addEventListener","passive","capture","ResizeSensor","handleEvent","updateSticky","dims","offsetRelative","clientHeight","containerBottom","offsetHeight","offsetWidth","innerHeight","_calcDimensionsWithScroll","sidebarLeft","documentElement","scrollTop","body","viewportBottom","viewportLeft","scrollLeft","furthest","Math","min","max","affixType","sidebarBottom","colliderTop","colliderBottom","isSidebarFitsViewport","inner","outer","position","width","bottom","translate","_getTranslate","height","force","getAffixType","_getStyle","affixEvent","toLowerCase","eventTrigger","removeClass","addClass","_unit","affixedEvent","innerWidth","removeAttribute","eventType","_this3","_running","type","requestAnimationFrame","observeScrollDir","supportTransform","y","x","z","removeEventListener","caption","minHeight","styleReset","detach","jQuery","$","ready","searchToggles","_loop","searchToggle","searchToggleTargetId","dataset","target","searchToggleTarget","concat","searchIcon","children","searchBarInput","find","click","toggleClass","focus","val","accordions","not","_loop2","accordion","accordionHeader","accordionBody","header","attr","slideUp","slideDown","headers","_loop3","eq","siblings","otherHeadersInSet","parent","tabs","each","index","tabAnchor","ta","parentLi","tabTarget","tab","hide","show","parentLiSiblings","liElement","$le","siblingTabAnchor","navbarBurgers","burger","targetMenuId","targetMenu","getElementById","toggle","dropdowns","dropdown","dropdownTrigger","stopPropagation","dropdownIcon","keyCode","sideNavContainer","sideNavMain","topspacing","bottomspacing","secondLevelNavHeaderArray","navHeader","nextEl","nextElementSibling","navIcon","secondLevelNavHeaderMobileArray","closureIndex","secondLevelNavMobileIcon","getElementsByTagName","secondLevelMobileDiv","getElementsByClassName","secondLevelNavMobileClosure","initSecondLevelNavInteraction","languageSelectors","languageSelector","langSelectorTarget"],"mappings":"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","file":"js/sgds.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 4);\n","module.exports = __webpack_public_path__ + \"fonts/sgds-icons.svg\";","module.exports = __webpack_public_path__ + \"fonts/sgds-icons.ttf\";","module.exports = __webpack_public_path__ + \"fonts/sgds-icons.woff\";","/**\r\n * Sticky Sidebar JavaScript Plugin.\r\n * @version 3.3.1\r\n * @author Ahmed Bouhuolia \r\n * @license The MIT License (MIT)\r\n */\r\nconst StickySidebar = (() => {\r\n \r\n // ---------------------------------\r\n // # Define Constants\r\n // ---------------------------------\r\n //\r\n const EVENT_KEY = '.stickySidebar';\r\n const VERSION = '3.3.1';\r\n \r\n const DEFAULTS = {\r\n \r\n /**\r\n * Additional top spacing of the element when it becomes sticky.\r\n * @type {Numeric|Function}\r\n */\r\n topSpacing: 0,\r\n \r\n /**\r\n * Additional bottom spacing of the element when it becomes sticky.\r\n * @type {Numeric|Function}\r\n */\r\n bottomSpacing: 0,\r\n \r\n /**\r\n * Container sidebar selector to know what the beginning and end of sticky element.\r\n * @type {String|False}\r\n */\r\n containerSelector: false,\r\n \r\n /**\r\n * Inner wrapper selector.\r\n * @type {String}\r\n */\r\n innerWrapperSelector: '.inner-wrapper-sticky',\r\n \r\n /**\r\n * The name of CSS class to apply to elements when they have become stuck.\r\n * @type {String|False}\r\n */\r\n stickyClass: 'is-affixed',\r\n \r\n /**\r\n * Detect when sidebar and its container change height so re-calculate their dimensions.\r\n * @type {Boolean}\r\n */\r\n resizeSensor: true,\r\n \r\n /**\r\n * The sidebar returns to its normal position if its width below this value.\r\n * @type {Numeric}\r\n */\r\n minWidth: false\r\n };\r\n \r\n // ---------------------------------\r\n // # Class Definition\r\n // ---------------------------------\r\n //\r\n /**\r\n * Sticky Sidebar Class.\r\n * @public\r\n */\r\n class StickySidebar{\r\n \r\n /**\r\n * Sticky Sidebar Constructor.\r\n * @constructor\r\n * @param {HTMLElement|String} sidebar - The sidebar element or sidebar selector.\r\n * @param {Object} options - The options of sticky sidebar.\r\n */\r\n constructor(sidebar, options = {}){\r\n this.options = StickySidebar.extend(DEFAULTS, options);\r\n \r\n // Sidebar element query if there's no one, throw error.\r\n this.sidebar = ('string' === typeof sidebar ) ? document.querySelector(sidebar) : sidebar;\r\n if( 'undefined' === typeof this.sidebar )\r\n throw new Error(\"There is no specific sidebar element.\");\r\n \r\n this.sidebarInner = false;\r\n this.container = this.sidebar.parentElement;\r\n \r\n // Current Affix Type of sidebar element.\r\n this.affixedType = 'STATIC';\r\n this.direction = 'down';\r\n this.support = {\r\n transform: false,\r\n transform3d: false\r\n };\r\n \r\n this._initialized = false;\r\n this._reStyle = false;\r\n this._breakpoint = false;\r\n this._resizeListeners = [];\r\n \r\n // Dimensions of sidebar, container and screen viewport.\r\n this.dimensions = {\r\n translateY: 0,\r\n topSpacing: 0,\r\n lastTopSpacing: 0,\r\n bottomSpacing: 0,\r\n lastBottomSpacing: 0,\r\n sidebarHeight: 0,\r\n sidebarWidth: 0,\r\n containerTop: 0,\r\n containerHeight: 0,\r\n viewportHeight: 0,\r\n viewportTop: 0, \r\n lastViewportTop: 0,\r\n };\r\n \r\n // Bind event handlers for referencability.\r\n ['handleEvent'].forEach( (method) => {\r\n this[method] = this[method].bind(this);\r\n });\r\n \r\n // Initialize sticky sidebar for first time.\r\n this.initialize();\r\n }\r\n \r\n /**\r\n * Initializes the sticky sidebar by adding inner wrapper, define its container, \r\n * min-width breakpoint, calculating dimensions, adding helper classes and inline style.\r\n * @private\r\n */\r\n initialize(){\r\n this._setSupportFeatures();\r\n \r\n // Get sticky sidebar inner wrapper, if not found, will create one.\r\n if( this.options.innerWrapperSelector ){\r\n this.sidebarInner = this.sidebar.querySelector(this.options.innerWrapperSelector);\r\n \r\n if( null === this.sidebarInner )\r\n this.sidebarInner = false;\r\n }\r\n \r\n if( ! this.sidebarInner ){\r\n let wrapper = document.createElement('div');\r\n wrapper.setAttribute('class', 'inner-wrapper-sticky');\r\n this.sidebar.appendChild(wrapper);\r\n \r\n while( this.sidebar.firstChild != wrapper )\r\n wrapper.appendChild(this.sidebar.firstChild);\r\n \r\n this.sidebarInner = this.sidebar.querySelector('.inner-wrapper-sticky');\r\n }\r\n \r\n // Container wrapper of the sidebar.\r\n if( this.options.containerSelector ){\r\n let containers = document.querySelectorAll(this.options.containerSelector);\r\n containers = Array.prototype.slice.call(containers);\r\n \r\n containers.forEach((container, item) => {\r\n if( ! container.contains(this.sidebar) ) return;\r\n this.container = container;\r\n });\r\n \r\n if( ! containers.length )\r\n throw new Error(\"The container does not contains on the sidebar.\");\r\n }\r\n \r\n // If top/bottom spacing is not function parse value to integer.\r\n if( 'function' !== typeof this.options.topSpacing )\r\n this.options.topSpacing = parseInt(this.options.topSpacing) || 0;\r\n \r\n if( 'function' !== typeof this.options.bottomSpacing )\r\n this.options.bottomSpacing = parseInt(this.options.bottomSpacing) || 0;\r\n \r\n // Breakdown sticky sidebar if screen width below `options.minWidth`.\r\n this._widthBreakpoint();\r\n \r\n // Calculate dimensions of sidebar, container and viewport.\r\n this.calcDimensions();\r\n \r\n // Affix sidebar in proper position.\r\n this.stickyPosition();\r\n \r\n // Bind all events.\r\n this.bindEvents();\r\n \r\n // Inform other properties the sticky sidebar is initialized.\r\n this._initialized = true;\r\n }\r\n \r\n /**\r\n * Bind all events of sticky sidebar plugin.\r\n * @protected\r\n */\r\n bindEvents(){\r\n window.addEventListener('resize', this, {passive: true, capture: false});\r\n window.addEventListener('scroll', this, {passive: true, capture: false});\r\n \r\n this.sidebar.addEventListener('update' + EVENT_KEY, this);\r\n \r\n if( this.options.resizeSensor && 'undefined' !== typeof ResizeSensor ){\r\n new ResizeSensor(this.sidebarInner, this.handleEvent);\r\n new ResizeSensor(this.container, this.handleEvent);\r\n }\r\n }\r\n \r\n /**\r\n * Handles all events of the plugin.\r\n * @param {Object} event - Event object passed from listener.\r\n */\r\n handleEvent(event){\r\n this.updateSticky(event);\r\n }\r\n \r\n /**\r\n * Calculates dimensions of sidebar, container and screen viewpoint\r\n * @public\r\n */\r\n calcDimensions(){\r\n if( this._breakpoint ) return;\r\n var dims = this.dimensions;\r\n \r\n // Container of sticky sidebar dimensions.\r\n dims.containerTop = StickySidebar.offsetRelative(this.container).top;\r\n dims.containerHeight = this.container.clientHeight;\r\n dims.containerBottom = dims.containerTop + dims.containerHeight;\r\n \r\n // Sidebar dimensions.\r\n dims.sidebarHeight = this.sidebarInner.offsetHeight;\r\n dims.sidebarWidth = this.sidebar.offsetWidth;\r\n \r\n // Screen viewport dimensions.\r\n dims.viewportHeight = window.innerHeight;\r\n \r\n this._calcDimensionsWithScroll();\r\n }\r\n \r\n /**\r\n * Some dimensions values need to be up-to-date when scrolling the page.\r\n * @private\r\n */\r\n _calcDimensionsWithScroll(){\r\n var dims = this.dimensions;\r\n \r\n dims.sidebarLeft = StickySidebar.offsetRelative(this.sidebar).left;\r\n \r\n dims.viewportTop = document.documentElement.scrollTop || document.body.scrollTop;\r\n dims.viewportBottom = dims.viewportTop + dims.viewportHeight;\r\n dims.viewportLeft = document.documentElement.scrollLeft || document.body.scrollLeft;\r\n \r\n dims.topSpacing = this.options.topSpacing;\r\n dims.bottomSpacing = this.options.bottomSpacing;\r\n \r\n if( 'function' === typeof dims.topSpacing )\r\n dims.topSpacing = parseInt(dims.topSpacing(this.sidebar)) || 0;\r\n \r\n if( 'function' === typeof dims.bottomSpacing )\r\n dims.bottomSpacing = parseInt(dims.bottomSpacing(this.sidebar)) || 0;\r\n \r\n if( 'VIEWPORT-TOP' === this.affixedType ){\r\n // Adjust translate Y in the case decrease top spacing value.\r\n if( dims.topSpacing < dims.lastTopSpacing ){\r\n dims.translateY += dims.lastTopSpacing - dims.topSpacing;\r\n this._reStyle = true; \r\n }\r\n \r\n } else if( 'VIEWPORT-BOTTOM' === this.affixedType ){\r\n // Adjust translate Y in the case decrease bottom spacing value.\r\n if( dims.bottomSpacing < dims.lastBottomSpacing ){\r\n dims.translateY += dims.lastBottomSpacing - dims.bottomSpacing;\r\n this._reStyle = true;\r\n }\r\n }\r\n \r\n dims.lastTopSpacing = dims.topSpacing;\r\n dims.lastBottomSpacing = dims.bottomSpacing;\r\n }\r\n \r\n /**\r\n * Determine whether the sidebar is bigger than viewport.\r\n * @public\r\n * @return {Boolean}\r\n */\r\n isSidebarFitsViewport(){\r\n return this.dimensions.sidebarHeight < this.dimensions.viewportHeight;\r\n }\r\n \r\n /**\r\n * Observe browser scrolling direction top and down.\r\n */\r\n observeScrollDir(){\r\n var dims = this.dimensions;\r\n if( dims.lastViewportTop === dims.viewportTop ) return;\r\n \r\n var furthest = 'down' === this.direction ? Math.min : Math.max;\r\n \r\n // If the browser is scrolling not in the same direction.\r\n if( dims.viewportTop === furthest(dims.viewportTop, dims.lastViewportTop) )\r\n this.direction = 'down' === this.direction ? 'up' : 'down';\r\n }\r\n \r\n /**\r\n * Gets affix type of sidebar according to current scrollTop and scrollLeft.\r\n * Holds all logical affix of the sidebar when scrolling up and down and when sidebar \r\n * is bigger than viewport and vice versa.\r\n * @public\r\n * @return {String|False} - Proper affix type.\r\n */\r\n getAffixType(){\r\n var dims = this.dimensions, affixType = false;\r\n \r\n this._calcDimensionsWithScroll();\r\n \r\n var sidebarBottom = dims.sidebarHeight + dims.containerTop;\r\n var colliderTop = dims.viewportTop + dims.topSpacing;\r\n var colliderBottom = dims.viewportBottom - dims.bottomSpacing;\r\n \r\n // When browser is scrolling top.\r\n if( 'up' === this.direction ){\r\n if( colliderTop <= dims.containerTop ){\r\n dims.translateY = 0;\r\n affixType = 'STATIC';\r\n \r\n } else if( colliderTop <= dims.translateY + dims.containerTop ){\r\n dims.translateY = colliderTop - dims.containerTop;\r\n affixType = 'VIEWPORT-TOP';\r\n \r\n } else if( ! this.isSidebarFitsViewport() && dims.containerTop <= colliderTop ){\r\n affixType = 'VIEWPORT-UNBOTTOM';\r\n }\r\n // When browser is scrolling up.\r\n } else {\r\n // When sidebar element is not bigger than screen viewport.\r\n if( this.isSidebarFitsViewport() ){\r\n \r\n if( dims.sidebarHeight + colliderTop >= dims.containerBottom ){\r\n dims.translateY = dims.containerBottom - sidebarBottom;\r\n affixType = 'CONTAINER-BOTTOM'; \r\n \r\n } else if( colliderTop >= dims.containerTop ){\r\n dims.translateY = colliderTop - dims.containerTop;\r\n affixType = 'VIEWPORT-TOP';\r\n }\r\n // When sidebar element is bigger than screen viewport.\r\n } else {\r\n \r\n if( dims.containerBottom <= colliderBottom ){\r\n dims.translateY = dims.containerBottom - sidebarBottom; \r\n affixType = 'CONTAINER-BOTTOM'; \r\n \r\n } else if( sidebarBottom + dims.translateY <= colliderBottom ){\r\n dims.translateY = colliderBottom - sidebarBottom;\r\n affixType = 'VIEWPORT-BOTTOM';\r\n \r\n } else if( dims.containerTop + dims.translateY <= colliderTop ){\r\n affixType = 'VIEWPORT-UNBOTTOM';\r\n }\r\n }\r\n }\r\n \r\n // Make sure the translate Y is not bigger than container height.\r\n dims.translateY = Math.max(0, dims.translateY);\r\n dims.translateY = Math.min(dims.containerHeight, dims.translateY);\r\n \r\n dims.lastViewportTop = dims.viewportTop;\r\n return affixType;\r\n }\r\n \r\n /**\r\n * Gets inline style of sticky sidebar wrapper and inner wrapper according \r\n * to its affix type.\r\n * @private\r\n * @param {String} affixType - Affix type of sticky sidebar.\r\n * @return {Object}\r\n */\r\n _getStyle(affixType){\r\n if( 'undefined' === typeof affixType ) return;\r\n \r\n var style = {inner: {}, outer: {}};\r\n var dims = this.dimensions;\r\n \r\n switch( affixType ){\r\n case 'VIEWPORT-TOP':\r\n style.inner = {position: 'fixed', top: dims.topSpacing,\r\n left: dims.sidebarLeft - dims.viewportLeft, width: dims.sidebarWidth};\r\n break;\r\n case 'VIEWPORT-BOTTOM':\r\n style.inner = {position: 'fixed', top: 'auto', left: dims.sidebarLeft,\r\n bottom: dims.bottomSpacing, width: dims.sidebarWidth};\r\n break;\r\n case 'CONTAINER-BOTTOM':\r\n case 'VIEWPORT-UNBOTTOM':\r\n let translate = this._getTranslate(0, dims.translateY + 'px');\r\n \r\n if( translate )\r\n style.inner = {transform: translate};\r\n else \r\n style.inner = {position: 'absolute', top: dims.translateY, width: dims.sidebarWidth};\r\n break;\r\n }\r\n \r\n switch( affixType ){\r\n case 'VIEWPORT-TOP':\r\n case 'VIEWPORT-BOTTOM':\r\n case 'VIEWPORT-UNBOTTOM':\r\n case 'CONTAINER-BOTTOM':\r\n style.outer = {height: dims.sidebarHeight, position: 'relative'};\r\n break;\r\n }\r\n \r\n style.outer = StickySidebar.extend({height: '', position: ''}, style.outer);\r\n style.inner = StickySidebar.extend({position: 'relative', top: '', left: '',\r\n bottom: '', width: '', transform: this._getTranslate()}, style.inner);\r\n \r\n return style;\r\n }\r\n \r\n /**\r\n * Cause the sidebar to be sticky according to affix type by adding inline\r\n * style, adding helper class and trigger events.\r\n * @function\r\n * @protected\r\n * @param {string} force - Update sticky sidebar position by force.\r\n */\r\n stickyPosition(force){\r\n if( this._breakpoint ) return;\r\n \r\n force = this._reStyle || force || false;\r\n \r\n var offsetTop = this.options.topSpacing;\r\n var offsetBottom = this.options.bottomSpacing;\r\n \r\n var affixType = this.getAffixType();\r\n var style = this._getStyle(affixType);\r\n \r\n if( (this.affixedType != affixType || force) && affixType ){\r\n let affixEvent = 'affix.' + affixType.toLowerCase().replace('viewport-', '') + EVENT_KEY;\r\n StickySidebar.eventTrigger(this.sidebar, affixEvent);\r\n \r\n if( 'STATIC' === affixType )\r\n StickySidebar.removeClass(this.sidebar, this.options.stickyClass);\r\n else\r\n StickySidebar.addClass(this.sidebar, this.options.stickyClass);\r\n \r\n for( let key in style.outer ){\r\n let _unit = ('number' === typeof style.outer[key]) ? 'px' : '';\r\n this.sidebar.style[key] = style.outer[key];\r\n }\r\n \r\n for( let key in style.inner ){\r\n let _unit = ('number' === typeof style.inner[key]) ? 'px' : '';\r\n this.sidebarInner.style[key] = style.inner[key] + _unit;\r\n }\r\n \r\n let affixedEvent = 'affixed.'+ affixType.toLowerCase().replace('viewport-', '') + EVENT_KEY;\r\n StickySidebar.eventTrigger(this.sidebar, affixedEvent);\r\n } else {\r\n if( this._initialized ) this.sidebarInner.style.left = style.inner.left;\r\n }\r\n \r\n this.affixedType = affixType;\r\n }\r\n \r\n /**\r\n * Breakdown sticky sidebar when window width is below `options.minWidth` value.\r\n * @protected\r\n */\r\n _widthBreakpoint(){\r\n \r\n if( window.innerWidth <= this.options.minWidth ){\r\n this._breakpoint = true;\r\n this.affixedType = 'STATIC';\r\n \r\n this.sidebar.removeAttribute('style');\r\n StickySidebar.removeClass(this.sidebar, this.options.stickyClass);\r\n this.sidebarInner.removeAttribute('style');\r\n } else {\r\n this._breakpoint = false;\r\n }\r\n }\r\n \r\n /**\r\n * Switches between functions stack for each event type, if there's no \r\n * event, it will re-initialize sticky sidebar.\r\n * @public\r\n */\r\n updateSticky(event = {}){\r\n if( this._running ) return;\r\n this._running = true;\r\n \r\n ((eventType) => {\r\n\r\n requestAnimationFrame(() => {\r\n switch( eventType ){\r\n // When browser is scrolling and re-calculate just dimensions\r\n // within scroll. \r\n case 'scroll':\r\n this._calcDimensionsWithScroll();\r\n this.observeScrollDir();\r\n this.stickyPosition();\r\n break;\r\n \r\n // When browser is resizing or there's no event, observe width\r\n // breakpoint and re-calculate dimensions.\r\n case 'resize':\r\n default: \r\n this._widthBreakpoint();\r\n this.calcDimensions();\r\n this.stickyPosition(true);\r\n break;\r\n }\r\n this._running = false;\r\n });\r\n })(event.type);\r\n }\r\n \r\n /**\r\n * Set browser support features to the public property.\r\n * @private\r\n */\r\n _setSupportFeatures(){\r\n var support = this.support;\r\n \r\n support.transform = StickySidebar.supportTransform();\r\n support.transform3d = StickySidebar.supportTransform(true);\r\n }\r\n \r\n /**\r\n * Get translate value, if the browser supports transfrom3d, it will adopt it.\r\n * and the same with translate. if browser doesn't support both return false.\r\n * @param {Number} y - Value of Y-axis.\r\n * @param {Number} x - Value of X-axis.\r\n * @param {Number} z - Value of Z-axis.\r\n * @return {String|False}\r\n */\r\n _getTranslate(y = 0, x = 0, z = 0){\r\n if( this.support.transform3d ) return 'translate3d(' + y +', '+ x +', '+ z +')';\r\n else if( this.support.translate ) return 'translate('+ y +', '+ x +')';\r\n else return false;\r\n }\r\n \r\n /**\r\n * Destroy sticky sidebar plugin.\r\n * @public\r\n */\r\n destroy(){\r\n window.removeEventListener('resize', this, {caption: false});\r\n window.removeEventListener('scroll', this, {caption: false});\r\n \r\n this.sidebar.classList.remove(this.options.stickyClass);\r\n this.sidebar.style.minHeight = '';\r\n \r\n this.sidebar.removeEventListener('update' + EVENT_KEY, this);\r\n \r\n var styleReset = {inner: {}, outer: {}};\r\n \r\n styleReset.inner = {position: '', top: '', left: '', bottom: '', width: '', transform: ''};\r\n styleReset.outer = {height: '', position: ''};\r\n \r\n for( let key in styleReset.outer )\r\n this.sidebar.style[key] = styleReset.outer[key];\r\n \r\n for( let key in styleReset.inner )\r\n this.sidebarInner.style[key] = styleReset.inner[key];\r\n \r\n if( this.options.resizeSensor && 'undefined' !== typeof ResizeSensor ){\r\n ResizeSensor.detach(this.sidebarInner, this.handleEvent);\r\n ResizeSensor.detach(this.container, this.handleEvent);\r\n }\r\n }\r\n \r\n /**\r\n * Determine if the browser supports CSS transform feature.\r\n * @function\r\n * @static\r\n * @param {Boolean} transform3d - Detect transform with translate3d.\r\n * @return {String}\r\n */\r\n static supportTransform(transform3d){\r\n var result = false,\r\n property = (transform3d) ? 'perspective' : 'transform',\r\n upper = property.charAt(0).toUpperCase() + property.slice(1),\r\n prefixes = ['Webkit', 'Moz', 'O', 'ms'],\r\n support = document.createElement('support'),\r\n style = support.style;\r\n \r\n (property + ' ' + prefixes.join(upper + ' ') + upper).split(' ').forEach(function(property, i) {\r\n if (style[property] !== undefined) {\r\n result = property;\r\n return false;\r\n }\r\n });\r\n return result;\r\n }\r\n \r\n /**\r\n * Trigger custom event.\r\n * @static\r\n * @param {DOMObject} element - Target element on the DOM.\r\n * @param {String} eventName - Event name.\r\n * @param {Object} data - \r\n */\r\n static eventTrigger(element, eventName, data){\r\n try{\r\n var event = new CustomEvent(eventName, {detail: data});\r\n } catch(e){\r\n var event = document.createEvent('CustomEvent');\r\n event.initCustomEvent(eventName, true, true, data);\r\n }\r\n element.dispatchEvent(event);\r\n }\r\n \r\n /**\r\n * Extend options object with defaults.\r\n * @function\r\n * @static\r\n */\r\n static extend(defaults, options){\r\n var results = {};\r\n for( let key in defaults ){\r\n if( 'undefined' !== typeof options[key] ) results[key] = options[key];\r\n else results[key] = defaults[key];\r\n }\r\n return results;\r\n }\r\n \r\n /**\r\n * Get current coordinates left and top of specific element.\r\n * @static\r\n */\r\n static offsetRelative(element){\r\n var result = {left: 0, top: 0};\r\n\r\n do{\r\n let offsetTop = element.offsetTop;\r\n let offsetLeft = element.offsetLeft;\r\n \r\n if( ! isNaN(offsetTop) )\r\n result.top += offsetTop;\r\n \r\n if( ! isNaN(offsetLeft) )\r\n result.left += offsetLeft;\r\n\r\n element = ( 'BODY' === element.tagName ) ?\r\n element.parentElement : element.offsetParent;\r\n } while(element)\r\n return result;\r\n }\r\n \r\n /**\r\n * Add specific class name to specific element.\r\n * @static \r\n * @param {ObjectDOM} element \r\n * @param {String} className \r\n */\r\n static addClass(element, className){\r\n if( ! StickySidebar.hasClass(element, className) ){\r\n if (element.classList)\r\n element.classList.add(className);\r\n else\r\n element.className += ' ' + className;\r\n }\r\n }\r\n \r\n /**\r\n * Remove specific class name to specific element\r\n * @static\r\n * @param {ObjectDOM} element \r\n * @param {String} className \r\n */\r\n static removeClass(element, className){\r\n if( StickySidebar.hasClass(element, className) ){\r\n if (element.classList)\r\n element.classList.remove(className);\r\n else\r\n element.className = element.className.replace(new RegExp('(^|\\\\b)' + className.split(' ').join('|') + '(\\\\b|$)', 'gi'), ' ');\r\n }\r\n }\r\n\r\n /**\r\n * Determine weather the element has specific class name.\r\n * @static\r\n * @param {ObjectDOM} element \r\n * @param {String} className \r\n */\r\n static hasClass(element, className){\r\n if (element.classList)\r\n return element.classList.contains(className);\r\n else\r\n return new RegExp('(^| )' + className + '( |$)', 'gi').test(element.className);\r\n }\r\n }\r\n \r\n return StickySidebar;\r\n })();\r\n \r\n export default StickySidebar;\r\n \r\n // Global\r\n // -------------------------\r\n window.StickySidebar = StickySidebar;","const { jQuery } = window;\nif (!jQuery) {\n throw new Error(\n \"SGDS couldn't initialize; please make sure jQuery is loaded!\"\n );\n}\nexport { jQuery };\n","import StickySidebar from \"sticky-sidebar\";\nimport { jQuery as $ } from \"./js/lib\";\nimport { initSecondLevelNavInteraction } from \"./js/sgds-sidenav\";\nimport \"./sass/sgds.scss\";\nimport \"./fonts/sgds-icons.svg\";\nimport \"./fonts/sgds-icons.ttf\";\nimport \"./fonts/sgds-icons.woff\";\n\n$(document).ready(() => {\n // Search bar toggle\n const searchToggles = $(\".search-toggle\");\n for (let i = 0; i < searchToggles.length; i++) {\n let searchToggle = searchToggles[i];\n let searchToggleTargetId = searchToggle.dataset.target;\n let searchToggleTarget = $(`#${searchToggleTargetId}`);\n\n let searchIcon = $(searchToggle).children(\"span\");\n let searchBarInput = $(searchToggleTarget).find(\"input\");\n\n $(searchToggle).click(() => {\n searchIcon.toggleClass(\"sgds-icon-search\").toggleClass(\"sgds-icon-cross\");\n searchToggleTarget.toggleClass(\"hide\");\n searchBarInput.focus().val(\"\");\n });\n }\n\n // Accordions, non-set\n const accordions = $(\".sgds-accordion\").not(\".sgds-accordion-set > .sgds-accordion\");\n if (accordions) {\n for (let i = 0; i < accordions.length; i++) {\n let accordion = accordions[i];\n let accordionHeader = $(accordion).children(\".sgds-accordion-header\");\n let accordionBody = $(accordion).children(\".sgds-accordion-body\");\n $(accordionHeader).click(event => {\n let header = $(event.target);\n if ($(header).hasClass(\"is-active\")) {\n $(header)\n .removeClass(\"is-active\")\n .attr(\"aria-expanded\", false)\n .children(\"i\")\n .removeClass(\"sgds-icon-chevron-up\")\n .addClass(\"sgds-icon-chevron-down\");\n $(accordionBody).slideUp(300);\n } else {\n $(header)\n .addClass(\"is-active\")\n .attr(\"aria-expanded\", true)\n .children(\"i\")\n .removeClass(\"sgds-icon-chevron-down\")\n .addClass(\"sgds-icon-chevron-up\");\n $(accordionBody).slideDown(300);\n }\n });\n }\n }\n\n const accordionSetAccordions = $(\".sgds-accordion-set > .sgds-accordion\");\n if (accordionSetAccordions.length) {\n let headers = $(\".sgds-accordion-set .sgds-accordion-header\");\n for (let i = 0; i < headers.length; i++) {\n let header = headers.eq(i);\n header.click(function() {\n if (header.hasClass(\"is-active\")) {\n header.removeClass(\"is-active\").attr(\"aria-expanded\", false);\n header.siblings(\".sgds-accordion-body\").slideUp(300);\n header\n .children(\"i\")\n .removeClass(\"sgds-icon-chevron-up\")\n .addClass(\"sgds-icon-chevron-down\");\n } else {\n let otherHeadersInSet = header\n .parent()\n .siblings(\".sgds-accordion\")\n .children(\".sgds-accordion-header\");\n if (otherHeadersInSet) {\n otherHeadersInSet\n .children(\"i\")\n .removeClass(\"sgds-icon-chevron-up\")\n .addClass(\"sgds-icon-chevron-down\");\n otherHeadersInSet.removeClass(\"is-active\");\n otherHeadersInSet\n .siblings(\".sgds-accordion-body\")\n .slideUp(300)\n .removeClass(\"is-open\");\n }\n header.addClass(\"is-active\").attr(\"aria-expanded\", true);\n header\n .children(\"i\")\n .removeClass(\"sgds-icon-chevron-down\")\n .addClass(\"sgds-icon-chevron-up\");\n header\n .siblings(\".sgds-accordion-body\")\n .slideDown(300)\n .addClass(\"is-open\");\n }\n });\n }\n }\n\n // Tabs\n const tabs = $(\".sgds-tabs\");\n if (tabs && tabs.length > 0) {\n for (let i = 0; i < tabs.length; i++) {\n let tabElement = tabs.eq(i);\n let tabAnchors = tabElement.find(\"a[data-tab]\");\n tabAnchors.each(function(index, tabAnchor) {\n let ta = $(tabAnchor);\n let parentLi = ta.parent();\n let tabTarget = document.querySelector(tabAnchor.dataset.tab);\n // On init, hide all other non-active tabs\n if (!parentLi.hasClass(\"is-active\")) {\n $(tabTarget).hide();\n }\n // On click, show tab target and hide others\n ta.click(() => {\n if (parentLi.hasClass(\"is-active\")) {\n return;\n }\n parentLi.addClass(\"is-active\");\n $(tabTarget).show();\n let parentLiSiblings = parentLi.siblings();\n if (parentLiSiblings.length > 0) {\n parentLiSiblings.each(function(index, liElement) {\n let $le = $(liElement);\n $le.removeClass(\"is-active\");\n let siblingTabAnchor = $le.find(\"a[data-tab]\");\n let siblingTabTarget = $(siblingTabAnchor.attr(\"data-tab\"));\n siblingTabTarget.hide();\n });\n }\n });\n });\n }\n }\n\n // Navbar burger menus\n const navbarBurgers = $(\".sgds-navbar-burger\");\n if (navbarBurgers.length > 0) {\n navbarBurgers.each(function(index, burger) {\n $(burger).click(function() {\n const targetMenuId = burger.dataset.target;\n const targetMenu = document.getElementById(targetMenuId);\n // Toggle the class on both the \"navbar-burger\" and the \"navbar-menu\"\n burger.classList.toggle(\"is-active\");\n targetMenu.classList.toggle(\"is-active\");\n });\n });\n }\n\n // Dropdowns\n const dropdowns = $(\".sgds-dropdown:not(.is-hoverable)\");\n if (dropdowns.length > 0) {\n dropdowns.each((i, dropdown) => {\n let dropdownTrigger = dropdown.querySelector(\".sgds-dropdown-trigger\");\n dropdownTrigger.addEventListener(\"click\", event => { \n event.stopPropagation(); // Stop close listeners\n dropdown.classList.toggle(\"is-active\");\n let dropdownIcon = dropdownTrigger.querySelector(\".sgds-icon\");\n\n if (dropdown.classList.contains(\"is-active\")) {\n dropdownIcon.classList.remove(\"sgds-icon-chevron-down\");\n dropdownIcon.classList.add(\"sgds-icon-chevron-up\");\n } else {\n dropdownIcon.classList.remove(\"sgds-icon-chevron-up\");\n dropdownIcon.classList.add(\"sgds-icon-chevron-down\");\n }\n });\n });\n\n document.addEventListener(\"click\", event => {\n dropdowns.each((i, dropdown) => {\n if (!dropdown.contains(event.target)) {\n dropdown.classList.remove(\"is-active\");\n }\n let dropdownIcon = dropdown.querySelector(\".sgds-button .sgds-icon\");\n if (dropdownIcon) {\n dropdownIcon.classList.remove(\"sgds-icon-chevron-up\");\n dropdownIcon.classList.add(\"sgds-icon-chevron-down\");\n }\n });\n });\n\n // Close dropdowns if ESC pressed\n document.addEventListener(\"keydown\", event => {\n const e = event || window.event;\n if (e.keyCode === 27) {\n dropdowns.each((i, dropdown) => {\n dropdown.classList.remove(\"is-active\");\n let dropdownIcon = dropdown.querySelector(\".sgds-button .sgds-icon\");\n if (dropdownIcon) {\n dropdownIcon.classList.remove(\"sgds-icon-chevron-up\");\n dropdownIcon.classList.add(\"sgds-icon-chevron-down\");\n }\n });\n }\n });\n }\n\n // Needs hierarchy: .sidenav-container > .sidenav > .sidebar__inner.sgds-menu\n let sideNavContainer = document.querySelector(\".sidenav-container\");\n if (sideNavContainer) {\n let sideNavMain = sideNavContainer.querySelector(\".sidenav\");\n if (sideNavMain) {\n let sideNavMenuList = sideNavMain.querySelector(\".sidebar__inner.sgds-menu\");\n if (sideNavMenuList) {\n new StickySidebar(\".sidenav\", {\n containerSelector: \".sidenav-container\",\n innerWrapperSelector: \".sidebar__inner\",\n topSpacing: parseInt(sideNavMain.dataset.topspacing),\n bottomSpacing: parseInt(sideNavMain.dataset.bottomspacing)\n });\n }\n }\n }\n\n if (document.querySelector(\"li.second-level-nav\")) {\n initSecondLevelNavInteraction();\n }\n\n // Language Selector\n let languageSelectors = $(\".language-selector\");\n if (languageSelectors.length) {\n languageSelectors.each((i, languageSelector) => {\n let langSelectorTarget = $(\"#\" + languageSelector.dataset.target);\n $(languageSelector).click(() => {\n langSelectorTarget.toggle();\n });\n document.addEventListener(\"click\", event => {\n if (!languageSelector.contains(event.target)) {\n langSelectorTarget.hide();\n }\n });\n });\n }\n});\n","export function initSecondLevelNavInteraction() {\n let secondLevelNavHeaderArray = document.querySelectorAll(\n \"li.second-level-nav\"\n );\n for (let index = 0; index < secondLevelNavHeaderArray.length; index++) {\n // Check if next element is third-level-nav\n let navHeader = secondLevelNavHeaderArray[index];\n let nextEl = navHeader.nextElementSibling;\n if (nextEl && nextEl.classList.contains(\"second-level-nav-div\")) {\n navHeader.addEventListener(\"click\", event => {\n let navIcon = navHeader.querySelector(\"i\");\n if (nextEl.classList.contains(\"is-hidden\")) {\n nextEl.classList.remove(\"is-hidden\");\n if (navIcon) {\n navIcon.classList.remove(\"sgds-icon-chevron-down\");\n navIcon.classList.add(\"sgds-icon-chevron-up\");\n }\n } else {\n nextEl.classList.add(\"is-hidden\");\n if (navIcon) {\n navIcon.classList.remove(\"sgds-icon-chevron-up\");\n navIcon.classList.add(\"sgds-icon-chevron-down\");\n }\n }\n });\n }\n }\n\n var secondLevelNavHeaderMobileArray = document.querySelectorAll(\n \"a.second-level-nav-header-mobile\"\n );\n\n for (\n var index = 0;\n index < secondLevelNavHeaderMobileArray.length;\n index++\n ) {\n function secondLevelNavMobileClosure() {\n var closureIndex = index;\n function toggleSecondLevelNavMobileDiv() {\n // Get the icon of the second-level-nav-header\n var secondLevelNavMobileIcon = secondLevelNavHeaderMobileArray[\n closureIndex\n ].getElementsByTagName(\"I\")[0];\n var secondLevelMobileDiv = document.getElementsByClassName(\n \"second-level-nav-div-mobile\"\n )[closureIndex];\n if (secondLevelMobileDiv.classList.contains(\"is-hidden\")) {\n secondLevelNavMobileIcon.classList.remove(\n \"sgds-icon-chevron-down\"\n );\n secondLevelNavMobileIcon.classList.add(\n \"sgds-icon-chevron-up\"\n );\n secondLevelMobileDiv.classList.remove(\"is-hidden\");\n } else {\n secondLevelMobileDiv.classList.add(\"is-hidden\");\n secondLevelNavMobileIcon.classList.remove(\n \"sgds-icon-chevron-up\"\n );\n secondLevelNavMobileIcon.classList.add(\n \"sgds-icon-chevron-down\"\n );\n }\n }\n return toggleSecondLevelNavMobileDiv;\n }\n\n secondLevelNavHeaderMobileArray[index].addEventListener(\n \"click\",\n secondLevelNavMobileClosure()\n );\n }\n}\n"],"sourceRoot":""}