PageSourceSearch

https://www.renault-bank-direkt.at/scripts/main.js?t=20252910

js renault-bank-direkt.at collected 2026-10-01 23:47:12 UTC 36,594 bytes, 999 lines download raw bytes

vendor: 4,591 bytes, lines 1-119
1/******/ (function(modules) { // webpackBootstrap
2/******/ 	// install a JSONP callback for chunk loading
3/******/ 	function webpackJsonpCallback(data) {
4/******/ 		var chunkIds = data[0];
5/******/ 		var moreModules = data[1];
6/******/ 		var executeModules = data[2];
7/******/
8/******/ 		// add "moreModules" to the modules object,
9/******/ 		// then flag all "chunkIds" as loaded and fire callback
10/******/ 		var moduleId, chunkId, i = 0, resolves = [];
11/******/ 		for(;i < chunkIds.length; i++) {
12/******/ 			chunkId = chunkIds[i];
13/******/ 			if(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {
14/******/ 				resolves.push(installedChunks[chunkId][0]);
15/******/ 			}
16/******/ 			installedChunks[chunkId] = 0;
17/******/ 		}
18/******/ 		for(moduleId in moreModules) {
19/******/ 			if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {
20/******/ 				modules[moduleId] = moreModules[moduleId];
21/******/ 			}
22/******/ 		}
23/******/ 		if(parentJsonpFunction) parentJsonpFunction(data);
24/******/
25/******/ 		while(resolves.length) {
26/******/ 			resolves.shift()();
27/******/ 		}
28/******/
29/******/ 		// add entry modules from loaded chunk to deferred list
30/******/ 		deferredModules.push.apply(deferredModules, executeModules || []);
31/******/
32/******/ 		// run deferred modules when all chunks ready
33/******/ 		return checkDeferredModules();
34/******/ 	};
35/******/ 	function checkDeferredModules() {
36/******/ 		var result;
37/******/ 		for(var i = 0; i < deferredModules.length; i++) {
38/******/ 			var deferredModule = deferredModules[i];
39/******/ 			var fulfilled = true;
40/******/ 			for(var j = 1; j < deferredModule.length; j++) {
41/******/ 				var depId = deferredModule[j];
42/******/ 				if(installedChunks[depId] !== 0) fulfilled = false;
43/******/ 			}
44/******/ 			if(fulfilled) {
45/******/ 				deferredModules.splice(i--, 1);
46/******/ 				result = __webpack_require__(__webpack_require__.s = deferredModule[0]);
47/******/ 			}
48/******/ 		}
49/******/
50/******/ 		return result;
51/******/ 	}
52/******/
53/******/ 	// The module cache
54/******/ 	var installedModules = {};
55/******/
56/******/ 	// object to store loaded and loading chunks
57/******/ 	// undefined = chunk not loaded, null = chunk preloaded/prefetched
58/******/ 	// Promise = chunk loading, 0 = chunk loaded
59/******/ 	var installedChunks = {
60/******/ 		"main": 0
61/******/ 	};
62/******/
63/******/ 	var deferredModules = [];
64/******/
65/******/ 	// The require function
66/******/ 	function __webpack_require__(moduleId) {
67/******/
68/******/ 		// Check if module is in cache
69/******/ 		if(installedModules[moduleId]) {
70/******/ 			return installedModules[moduleId].exports;
71/******/ 		}
72/******/ 		// Create a new module (and put it into the cache)
73/******/ 		var module = installedModules[moduleId] = {
74/******/ 			i: moduleId,
75/******/ 			l: false,
76/******/ 			exports: {}
77/******/ 		};
78/******/
79/******/ 		// Execute the module function
80/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
81/******/
82/******/ 		// Flag the module as loaded
83/******/ 		module.l = true;
84/******/
85/******/ 		// Return the exports of the module
86/******/ 		return module.exports;
87/******/ 	}
88/******/
89/******/
90/******/ 	// expose the modules object (__webpack_modules__)
91/******/ 	__webpack_require__.m = modules;
92/******/
93/******/ 	// expose the module cache
94/******/ 	__webpack_require__.c = installedModules;
95/******/
96/******/ 	// define getter function for harmony exports
97/******/ 	__webpack_require__.d = function(exports, name, getter) {
98/******/ 		if(!__webpack_require__.o(exports, name)) {
99/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
100/******/ 		}
101/******/ 	};
102/******/
103/******/ 	// define __esModule on exports
104/******/ 	__webpack_require__.r = function(exports) {
105/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
106/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
107/******/ 		}
108/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
109/******/ 	};
110/******/
111/******/ 	// create a fake namespace object
112/******/ 	// mode & 1: value is a module id, require it
113/******/ 	// mode & 2: merge all properties of value into the ns
114/******/ 	// mode & 4: return value when already ns object
115/******/ 	// mode & 8|1: behave like require
116/******/ 	__webpack_require__.t = function(value, mode) {
117/******/ 		if(mode & 1) value = __webpack_require__(value);
118/******/ 		if(mode & 8) return value;
119/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esMo
119dule) return value;
120/******/ 		var ns = Object.create(null);
121/******/ 		__webpack_require__.r(ns);
122/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
123/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
124/******/ 		return ns;
125/******/ 	};
126/******/
127/******/ 	// getDefaultExport function for compatibility with non-harmony modules
128/******/ 	__webpack_require__.n = function(module) {
129/******/ 		var getter = module && module.__esModule ?
130/******/ 			function getDefault() { return module['default']; } :
131/******/ 			function getModuleExports() { return module; };
132/******/ 		__webpack_require__.d(getter, 'a', getter);
133/******/ 		return getter;
134/******/ 	};
135/******/
136/******/ 	// Object.prototype.hasOwnProperty.call
137/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
138/******/
139/******/ 	// __webpack_public_path__
140/******/ 	__webpack_require__.p = "";
141/******/
142/******/ 	var jsonpArray = window["webpackJsonp"] = window["webpackJsonp"] || [];
143/******/ 	var oldJsonpFunction = jsonpArray.push.bind(jsonpArray);
144/******/ 	jsonpArray.push = webpackJsonpCallback;
145/******/ 	jsonpArray = jsonpArray.slice();
146/******/ 	for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);
147/******/ 	var parentJsonpFunction = oldJsonpFunction;
148/******/
149/******/
150/******/ 	// add entry module to deferred list
151/******/ 	deferredModules.push(["./src/js/index.js","vendor"]);
152/******/ 	// run deferred modules when ready
153/******/ 	return checkDeferredModules();
154/******/ })
155/************************************************************************/
156/******/ ({
157
158/***/ "./src/js/index.js":
159/*!*************************!*\
160  !*** ./src/js/index.js ***!
161  \*************************/
162/*! no static exports found */
163/***/ (function(module, exports, __webpack_require__) {
164
165"use strict";
166
167
168__webpack_require__(/*! core-js/fn/array/from */ "./node_modules/core-js/fn/array/from.js");
169
170__webpack_require__(/*! core-js/fn/promise */ "./node_modules/core-js/fn/promise.js");
171
172var _flickity = __webpack_require__(/*! flickity */ "./node_modules/flickity/js/index.js");
173
174var _flickity2 = _interopRequireDefault(_flickity);
175
176var _Animation = __webpack_require__(/*! nfx-design-system/js/modules/Animation */ "./node_modules/nfx-design-system/js/modules/Animation.js");
177
178var _Animation2 = _interopRequireDefault(_Animation);
179
180var _Modal = __webpack_require__(/*! ./modules/Modal */ "./src/js/modules/Modal.js");
181
182var _Modal2 = _interopRequireDefault(_Modal);
183
184var _Analytics = __webpack_require__(/*! nfx-design-system/js/modules/Analytics */ "./node_modules/nfx-design-system/js/modules/Analytics.js");
185
186var _Analytics2 = _interopRequireDefault(_Analytics);
187
188var _Tabs = __webpack_require__(/*! ./modules/Tabs */ "./src/js/modules/Tabs.js");
189
190var _Tabs2 = _interopRequireDefault(_Tabs);
191
192var _Accordion = __webpack_require__(/*! ./modules/Accordion */ "./src/js/modules/Accordion.js");
193
194var _Accordion2 = _interopRequireDefault(_Accordion);
195
196var _SmoothScroll = __webpack_require__(/*! ./modules/SmoothScroll */ "./src/js/modules/SmoothScroll.js");
197
198var _SmoothScroll2 = _interopRequireDefault(_SmoothScroll);
199
200var _MobileNavigation = __webpack_require__(/*! ./modules/MobileNavigation */ "./src/js/modules/MobileNavigation.js");
201
202var _MobileNavigation2 = _interopRequireDefault(_MobileNavigation);
203
204var _Dropdown = __webpack_require__(/*! ./modules/Dropdown */ "./src/js/modules/Dropdown.js");
205
206var _Dropdown2 = _interopRequireDefault(_Dropdown);
207
208var _Video = __webpack_require__(/*! ./modules/Video */ "./src/js/modules/Video.js");
209
210var _Video2 = _interopRequireDefault(_Video);
211
212var _Redirect = __webpack_require__(/*! ./modules/Redirect */ "./src/js/modules/Redirect.js");
213
214var _Redirect2 = _interopRequireDefault(_Redirect);
215
216function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
217
218_Tabs2.default.init();
219_Accordion2.default.init();
220_SmoothScroll2.default.init();
221_MobileNavigation2.default.init();
222_Dropdown2.default.init();
223_Modal2.default.init();
224_Animation2.default.init();
225_Video2.default.init();
226_Redirect2.default.init();
227
228var analytics = new _Analytics2.default(function (event) {
229    window.dataLayer = window.dataLayer || [];
230    window.dataLayer.push(event);
231});
232
233analytics.addCustomEvent('#account-teaser .teaser', '.button.is-primary', 'Call to Action', '', '.interest', true, true);
234analytics.addCustomEvent('body', '[data-modal-open="#modal-contact"]', 'Call to Action', 'Kontaktaufnahme', 'Kontaktformular');
235analytics.addCustomEvent('body', '.link.icon-banking', 'Button', 'E-Banking-Login');
236analytics.init();
237
238var ua = window.navigator.userAgent;
239var trident = ua.indexOf('Trident/');
240
241if (trident > 0) {
242    document.querySelector('body').classList.add('is-ie');
243}
244
245var flickityOptions = {
246    wrapAround: true,
247    draggable: false,
248    selectedAttraction: 0.01,
249    friction: 0.15
250};
251
252if (window.innerWidth > 1024) {
253    flickityOptions.autoPlay = 4000;
254}
255
256if (document.querySelector('.js-slider')) {
257    new _flickity2.default('.js-slider', flickityOptions);
258}
259
260document.addEventListener('DOMContentLoaded', function () {
261    document.querySelector('body').classList.add('slider-ready');
262});
263
264/***/ }),
265
266/***/ "./src/js/modules/Accordion.js":
267/*!*************************************!*\
268  !*** ./src/js/modules/Accordion.js ***!
269  \*************************************/
270/*! no static exports found */
271/***/ (function(module, exports, __webpack_require__) {
272
273"use strict";
274
275
276Object.defineProperty(exports, "__esModule", {
277    value: true
278});
279var Accordion = {
280    init: function init() {
281        var accordionContainer = document.querySelectorAll('[data-accordion]');
282
283        if (!accordionContainer) {
284            return;
285        }
286
287        var _loop = function _loop(container) {
288            accordionContainer[container].titles = accordionContainer[container].querySelectorAll('[data-accordion-title]');
289
290            accordionContainer[container].addEventListener('keydown', function (event) {
291                if (event.key === ' ') {
292                    event.preventDefault();
293                    event.target.click();
294                }
295            });
296
297            accordionContainer[container].addEventListener('click', function (event) {
298                var element = event.target;
299
300                if (!element.dataset.hasOwnProperty('accordionTitle')) {
301                    return;
302                }
303
304                for (var title = 0; title < accordionContainer[container].titles.length; title++) {
305                    if (accordionContainer[container].titles[title] !== element) {
306                        accordionContainer[container].titles[title].classList.remove('is-active');
307                        accordionContainer[container].titles[title].setAttribute('aria-expanded', 'false');
308                        accordionContainer[container].titles[title].nextElementSibling.toggleAttribute('inert');
309                    }
310                }
311
312                element.classList.toggle('is-active');
313                element.setAttribute('aria-expanded', 'true');
314                element.nextElementSibling.toggleAttribute('inert');
315            });
316        };
317
318        for (var container = 0; container < accordionContainer.length; container++) {
319            _loop(container);
320        }
321    }
322};
323
324exports.default = Accordion;
325
326/***/ }),
327
328/***/ "./src/js/modules/Dropdown.js":
329/*!************************************!*\
330  !*** ./src/js/modules/Dropdown.js ***!
331  \************************************/
332/*! no static exports found */
333/***/ (function(module, exports, __webpack_require__) {
334
335"use strict";
336
337
338Object.defineProperty(exports, "__esModule", {
339    value: true
340});
341
342var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
343
344function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
345
346var Dropdown = function () {
347    function Dropdown() {
348        _classCallCheck(this, Dropdown);
349
350        this.activeDropdown = null;
351    }
352
353    _createClass(Dropdown, [{
354        key: 'init',
355        value: function init() {
356            this.bindClickEvents();
357            this.bindKeyboardEvents();
358            this.initializeDropdowns();
359        }
360    }, {
361        key: 'initializeDropdowns',
362        value: function initializeDropdowns() {
363            // Set all dropdown content to inert by default
364            var dropdowns = document.querySelectorAll('.navbar-dropdown');
365            dropdowns.forEach(function (dropdown) {
366                if (dropdown.querySelector('[data-dropdown-group]')) {
367                    dropdown.setAttribute('inert', '');
368                }
369            });
370        }
371    }, {
372        key: 'bindClickEvents',
373        value: function bindClickEvents() {
374            document.addEventListener('click', this.handleClick.bind(this));
375        }
376    }, {
377        key: 'bindKeyboardEvents',
378        value: function bindKeyboardEvents() {
379            document.addEventListener('keydown', this.handleKeydown.bind(this));
380        }
381    }, {
382        key: 'handleKeydown',
383        value: function handleKeydown(event) {
384            var element = event.target;
385
386            if (event.key === 'Enter' && element.dataset.hasOwnProperty('dropdownOpen')) {
387                event.preventDefault();
388                this.open(element);
389            } else if (event.key === 'Escape' && this.activeDropdown) {
390                this.closeAll(this.activeDropdown.dataset.dropdownGroup || false);
391            }
392        }
393    }, {
394        key: 'handleClick',
395        value: function handleClick(event) {
396            var element = event.target;
397
398            if (element.dataset.hasOwnProperty('dropdownOpen')) {
399                this.open(element);
400            } else if (this.activeDropdown && !this.activeDropdown.contains(element)) {
401                this.closeAll(this.activeDropdown.dataset.dropdownGroup || false);
402            }
403        }
404    }, {
405        key: 'open',
406        value: function open(element) {
407            var target = document.querySelector(element.dataset.dropdownOpen);
408
409            if (target) {
410                if (target === this.activeDropdown) {
411                    this.closeAll(this.activeDropdown.dataset.dropdownGroup || false);
412                    return;
413                }
414
415                var group = target.dataset.dropdownGroup || false;
416
417                this.closeAll(group);
418                element.parentElement.classList.add('is-active');
419                target.classList.add('is-active');
420
421                // Remove inert attribute from dropdown content
422                target.removeAttribute('inert');
423
424                this.activeDropdown = target;
425            }
426        }
427    }, {
428        key: 'closeAll',
429        value: function closeAll(group) {
430            if (group) {
431                var dropdownElements = document.querySelectorAll('[data-dropdown-group="' + group + '"]');
432
433                for (var i = 0; i < dropdownElements.length; i++) {
434                    dropdownElements[i].classList.remove('is-active');
435
436                    // Add inert attribute to dropdown content
437                    if (dropdownElements[i].querySelector('[data-dropdown-group]')) {
438                        dropdownElements[i].querySelector('.navbar-dropdown').setAttribute('inert', '');
439                    }
440                }
441
442                this.activeDropdown = null;
443            }
444        }
445    }]);
446
447    return Dropdown;
448}();
449
450exports.default = new Dropdown();
451
452/***/ }),
453
454/***/ "./src/js/modules/MobileNavigation.js":
455/*!********************************************!*\
456  !*** ./src/js/modules/MobileNavigation.js ***!
457  \********************************************/
458/*! no static exports found */
459/***/ (function(module, exports, __webpack_require__) {
460
461"use strict";
462
463
464Object.defineProperty(exports, "__esModule", {
465  value: true
466});
467
468var _focusTrap = __webpack_require__(/*! focus-trap */ "./node_modules/focus-trap/dist/focus-trap.esm.js");
469
470var focusTrap = _interopRequireWildcard(_focusTrap);
471
472function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
473
474var MobileNavigation = {
475  init: function init() {
476    var burger = document.querySelector('.burger');
477    var nav = document.querySelector('#' + burger.dataset.target);
478    var search = document.querySelector('.navbar-item.mobile-search a');
479
480    var trap = focusTrap.createFocusTrap(nav);
481
482    if (!burger) {
483      return;
484    }
485
486    burger.addEventListener('click', function () {
487      burger.classList.toggle('is-active');
488      nav.classList.toggle('is-active');
489
490      if (burger.classList.contains('is-active')) {
491        trap.activate();
492      } else {
493        trap.deactivate();
494      }
495    });
496
497    burger.addEventListener('keydown', function (event) {
498      if (event.key === 'Enter') {
499        burger.click();
500      }
501    });
502
503    search.addEventListener('keydown', function (event) {
504      if (event.key === 'Enter') {
505        document.location.href = '/dynamic-search/default/search';
506      }
507    });
508  }
509};
510
511exports.default = MobileNavigation;
512
513/***/ }),
514
515/***/ "./src/js/modules/Modal.js":
516/*!*********************************!*\
517  !*** ./src/js/modules/Modal.js ***!
518  \*********************************/
519/*! no static exports found */
520/***/ (function(module, exports, __webpack_require__) {
521
522"use strict";
523
524
525Object.defineProperty(exports, "__esModule", {
526    value: true
527});
528
529var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
530
531var _focusTrap = __webpack_require__(/*! focus-trap */ "./node_modules/focus-trap/dist/focus-trap.esm.js");
532
533var focusTrap = _interopRequireWildcard(_focusTrap);
534
535function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
536
537function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
538
539var Modal = function () {
540    function Modal() {
541        _classCallCheck(this, Modal);
542
543        this.activeModal = null;
544        this.traps = new Map();
545    }
546
547    _createClass(Modal, [{
548        key: 'init',
549        value: function init() {
550            this.bindEvents();
551        }
552    }, {
553        key: 'bindEvents',
554        value: function bindEvents() {
555            this.html = document.querySelector('html');
556
557            document.addEventListener('click', this.handleClick.bind(this));
558            document.addEventListener('keydown', this.handleKeydown.bind(this));
559            this.createTraps();
560        }
561    }, {
562        key: 'handleClick',
563        value: function handleClick(event) {
564            var element = event.target;
565
566            if (element.classList.contains('modal-close')) {
567                this.close();
568            }
569
570            if (this.activeModal && !this.activeModal.querySelector('.modal-content').contains(element)) {
571                this.close();
572            }
573
574            if (element.hasAttribute('href') && element.getAttribute('href').indexOf('#modal') !== -1) {
575                event.preventDefault();
576                this.open(element);
577            }
578        }
579    }, {
580        key: 'handleKeydown',
581        value: function handleKeydown(event) {
582            if (event.key === 'Escape') {
583                this.close();
584            }
585        }
586    }, {
587        key: 'open',
588        value: function open(element) {
589            var target = document.querySelector(element.getAttribute('href'));
590
591            if (target) {
592                //this.html.classList.add('is-clipped');
593                target.classList.add('is-active');
594
595                this.activeModal = target;
596                var trap = this.traps.get(target);
597                trap.activate();
598            }
599        }
600    }, {
601        key: 'close',
602        value: function close() {
603            var _this = this;
604
605            var target = document.querySelector('.modal.is-active');
606
607            if (target) {
608                var trap = this.traps.get(target);
609                trap.deactivate();
610                target.classList.add('is-closing');
611
612                var videoEl = target.querySelector('iframe');
613
614                setTimeout(function () {
615                    _this.html.classList.remove('is-clipped');
616                    target.classList.remove('is-active');
617                    target.classList.remove('is-closing');
618
619                    if (videoEl) {
620                        var oVideoSrc = videoEl.src;
621                        videoEl.src = '';
622                        videoEl.src = oVideoSrc;
623                    }
624                }, 400);
625
626                this.activeModal = null;
627            }
628        }
629    }, {
630        key: 'createTraps',
631        value: function createTraps() {
632            var _this2 = this;
633
634            var modals = document.querySelectorAll('.modal');
635            if (modals.length > 0) {
636                modals.forEach(function (modal) {
637                    var trap = focusTrap.createFocusTrap(modal, { escapeDeactivates: false });
638                    _this2.traps.set(modal, trap);
639                });
640            }
641        }
642    }]);
643
644    return Modal;
645}();
646
647exports.default = new Modal();
648
649/***/ }),
650
651/***/ "./src/js/modules/Redirect.js":
652/*!************************************!*\
653  !*** ./src/js/modules/Redirect.js ***!
654  \************************************/
655/*! no static exports found */
656/***/ (function(module, exports, __webpack_require__) {
657
658"use strict";
659
660
661Object.defineProperty(exports, "__esModule", {
662    value: true
663});
664
665var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
666
667function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
668
669var Redirect = function () {
670    function Redirect() {
671        _classCallCheck(this, Redirect);
672
673        this.targetAnchor = document.querySelector('.js-redirect-url');
674    }
675
676    _createClass(Redirect, [{
677        key: 'init',
678        value: function init() {
679            var body = document.querySelector('body');
680
681            body.addEventListener('click', this.handleClick.bind(this));
682        }
683    }, {
684        key: 'handleClick',
685        value: function handleClick(event) {
686            var element = event.target;
687            var counter = 5;
688
689            if (document.querySelector('.js-redirect-count')) {
690                document.querySelector('.js-redirect-count').textContent = counter;
691            }
692
693            if (element.classList.contains('js-redirect')) {
694                event.preventDefault();
695
696                var href = element.getAttribute('href');
697
698                this.targetAnchor.href = href;
699
700                var counterInterval = setInterval(function () {
701                    document.querySelector('.js-redirect-count').textContent = --counter;
702
703                    if (counter <= 0) {
704                        clearInterval(counterInterval);
705                        document.querySelector('.modal.is-active').classList.remove('is-active');
706                        document.location.href = href;
707                    }
708                }, 1000);
709            }
710        }
711    }]);
712
713    return Redirect;
714}();
715
716exports.default = new Redirect();
717
718/***/ }),
719
720/***/ "./src/js/modules/SmoothScroll.js":
721/*!****************************************!*\
722  !*** ./src/js/modules/SmoothScroll.js ***!
723  \****************************************/
724/*! no static exports found */
725/***/ (function(module, exports, __webpack_require__) {
726
727"use strict";
728
729
730Object.defineProperty(exports, "__esModule", {
731    value: true
732});
733
734var _smoothscrollPolyfill = __webpack_require__(/*! smoothscroll-polyfill */ "./node_modules/smoothscroll-polyfill/dist/smoothscroll.js");
735
736var _smoothscrollPolyfill2 = _interopRequireDefault(_smoothscrollPolyfill);
737
738function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
739
740var SmoothScroll = {
741    init: function init() {
742        _smoothscrollPolyfill2.default.polyfill();
743
744        var headerHeight = document.querySelector("header").getBoundingClientRect().height;
745
746        if (document.location.hash.length > 0 && document.location.hash.indexOf("#modal") === -1) {
747            var target = document.querySelector(document.location.hash.replace("scrollto-", ""));
748
749            if (target) {
750                var position = void 0;
751                var clientRect = target.getBoundingClientRect();
752
753                if (target.classList.contains("is-visible")) {
754                    position = target.getBoundingClientRect().top + window.pageYOffset - headerHeight;
755                } else {
756                    position = target.getBoundingClientRect().top + window.pageYOffset - headerHeight - clientRect.height;
757                }
758
759                window.scrollTo({
760                    top: position,
761                    behavior: "smooth"
762                });
763            }
764        }
765
766        document.addEventListener("click", function (event) {
767            var element = event.target;
768
769            if (element.nodeName === "A" && element.hasAttribute("href") && element.getAttribute("href").indexOf("#") === 0 && element.getAttribute("href").indexOf("#modal") === -1 && element.getAttribute("href").indexOf("#main") === -1) {
770                event.preventDefault();
771
772                var _target = document.querySelector(event.target.getAttribute("href"));
773
774                if (_target) {
775                    var _position = void 0;
776                    var _clientRect = _target.getBoundingClientRect();
777
778                    if (_target.classList.contains("is-visible")) {
779                        _position = _target.getBoundingClientRect().top + window.pageYOffset - headerHeight;
780                    } else {
781                        _position = _target.getBoundingClientRect().top + window.pageYOffset - headerHeight - _clientRect.height;
782                    }
783
784                    window.scrollTo({
785                        top: _position,
786                        behavior: "smooth"
787                    });
788
789                    _target.focus();
790
791                    if (_target.id.indexOf("faq") !== -1) {
792                        var focusableElements = _target.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');
793                        if (focusableElements.length > 0) {
794                            focusableElements[0].focus();
795                        }
796                        _target.focus();
797                    }
798                }
799            }
800        });
801    }
802};
803
804exports.default = SmoothScroll;
805
806/***/ }),
807
808/***/ "./src/js/modules/Tabs.js":
809/*!********************************!*\
810  !*** ./src/js/modules/Tabs.js ***!
811  \********************************/
812/*! no static exports found */
813/***/ (function(module, exports, __webpack_require__) {
814
815"use strict";
816
817
818Object.defineProperty(exports, "__esModule", {
819    value: true
820});
821var Tabs = {
822    init: function init() {
823        var tabContainer = document.querySelector('[data-tabs]');
824        var tabs = document.querySelectorAll('[data-tab]');
825        var tabPanels = document.querySelectorAll('[data-tab-content]');
826        var firstTab = tabs[0];
827        var firstTabPanel = tabPanels[0];
828        var lastTab = tabs[tabs.length - 1];
829        var lastTabPanel = tabPanels[tabPanels.length - 1];
830
831        if (!tabContainer) {
832            return;
833        }
834
835        tabContainer.addEventListener('click', function (event) {
836            var tabLink = event.target;
837            var tab = tabLink.parentNode;
838
839            if (tab.dataset.hasOwnProperty('tab')) {
840                for (var i = 0; i < tabPanels.length; i++) {
841                    tabPanels[i].classList.remove('is-active');
842                }
843
844                for (var _i = 0; _i < tabs.length; _i++) {
845                    tabs[_i].classList.remove('is-active');
846                    tabs[_i].setAttribute('tabindex', '-1');
847                }
848
849                document.querySelector('#' + tab.dataset.target).classList.add('is-active');
850                tab.classList.add('is-active');
851                tab.setAttribute('tabindex', '0');
852                tab.focus();
853            }
854        });
855
856        tabContainer.addEventListener('keydown', function (event) {
857            if (event.key === 'ArrowRight') {
858                var currentTab = document.querySelector('[role="tab"][aria-selected="true"]');
859                var currentTabPanel = document.querySelector('#' + currentTab.dataset.target);
860                var nextTab = currentTab.nextElementSibling;
861
862                currentTab.classList.remove('is-active');
863                currentTab.setAttribute('tabindex', '-1');
864                currentTab.setAttribute('aria-selected', 'false');
865                currentTabPanel.classList.remove('is-active');
866                currentTabPanel.setAttribute('aria-hidden', 'true');
867                event.preventDefault();
868
869                if (nextTab) {
870                    var nextTabPanel = document.querySelector('#' + nextTab.dataset.target);
871                    nextTab.focus();
872                    nextTab.classList.add('is-active');
873                    nextTab.setAttribute('aria-selected', 'true');
874                    nextTab.setAttribute('tabindex', '0');
875                    nextTabPanel.classList.add('is-active');
876                    nextTabPanel.setAttribute('aria-hidden', 'false');
877                } else {
878                    firstTab.focus();
879                    firstTab.classList.add('is-active');
880                    firstTab.setAttribute('aria-selected', 'true');
881                    firstTab.setAttribute('tabindex', '0');
882                    firstTabPanel.classList.add('is-active');
883                    firstTabPanel.setAttribute('aria-hidden', 'false');
884                }
885            }
886
887            if (event.key === 'ArrowLeft') {
888                var _currentTab = document.querySelector('[role="tab"][aria-selected="true"]');
889                var _currentTabPanel = document.querySelector('#' + _currentTab.dataset.target);
890                var previousTab = _currentTab.previousElementSibling;
891
892                _currentTab.classList.remove('is-active');
893                _currentTab.setAttribute('aria-selected', 'false');
894                _currentTab.setAttribute('tabindex', '-1');
895                _currentTabPanel.classList.remove('is-active');
896                _currentTabPanel.setAttribute('aria-hidden', 'true');
897                event.preventDefault();
898
899                if (previousTab) {
900                    var previousTabPanel = document.querySelector('#' + previousTab.dataset.target);
901                    previousTab.focus();
902                    previousTab.classList.add('is-active');
903                    previousTab.setAttribute('aria-selected', 'true');
904                    previousTab.setAttribute('tabindex', '0');
905                    previousTabPanel.classList.add('is-active');
906                    previousTabPanel.setAttribute('aria-hidden', 'false');
907                } else {
908                    lastTab.focus();
909                    lastTab.classList.add('is-active');
910                    lastTab.setAttribute('aria-selected', 'true');
911                    lastTab.setAttribute('tabindex', '0');
912                    lastTabPanel.classList.add('is-active');
913                    lastTabPanel.setAttribute('aria-hidden', 'false');
914                }
915            }
916        });
917    }
918};
919
920exports.default = Tabs;
921
922/***/ }),
923
924/***/ "./src/js/modules/Video.js":
925/*!*********************************!*\
926  !*** ./src/js/modules/Video.js ***!
927  \*********************************/
928/*! no static exports found */
929/***/ (function(module, exports, __webpack_require__) {
930
931"use strict";
932
933
934Object.defineProperty(exports, "__esModule", {
935    value: true
936});
937
938var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
939
940function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
941
942var Video = function () {
943    function Video() {
944        _classCallCheck(this, Video);
945
946        this.videoElement = document.querySelector('.js-video-modal');
947    }
948
949    _createClass(Video, [{
950        key: 'init',
951        value: function init() {
952            this.bindEvents();
953        }
954    }, {
955        key: 'bindEvents',
956        value: function bindEvents() {
957            var body = document.querySelector('body');
958
959            if (this.videoElement) {
960                body.addEventListener('click', this.handleClick.bind(this));
961            }
962        }
963    }, {
964        key: 'handleClick',
965        value: function handleClick(event) {
966            var element = event.target;
967
968            if (element.classList.contains('js-video-play')) {
969                this.clearSources();
970
971                var source = document.createElement('source');
972
973                source.src = element.dataset.src;
974                source.type = element.dataset.type;
975
976                this.videoElement.appendChild(source);
977                this.videoElement.play();
978            } else if (element.nodeName !== 'VIDEO') {
979                this.videoElement.pause();
980            }
981        }
982    }, {
983        key: 'clearSources',
984        value: function clearSources() {
985            while (this.videoElement.hasChildNodes()) {
986                this.videoElement.removeChild(this.videoElement.firstChild);
987            }
988        }
989    }]);
990
991    return Video;
992}();
993
994exports.default = new Video();
995
996/***/ })
996
997
998/******/ });
999//# sourceMappingURL=main.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.