/* * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). * This devtool is neither made for production nor for readable output files. * It uses "eval()" calls to create a separate source file in the browser devtools. * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) * or disable the default devtool with "devtool: false". * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). */ /******/ (function() { // webpackBootstrap /******/ "use strict"; /******/ var __webpack_modules__ = ({ /***/ "./src/js/app.js": /*!***********************************!*\ !*** ./src/js/app.js + 4 modules ***! \***********************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { eval("// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n;// CONCATENATED MODULE: ./src/scss/app.scss\n// extracted by mini-css-extract-plugin\n\n;// CONCATENATED MODULE: external \"jQuery\"\nvar external_jQuery_namespaceObject = jQuery;\nvar external_jQuery_default = /*#__PURE__*/__webpack_require__.n(external_jQuery_namespaceObject);\n;// CONCATENATED MODULE: ./src/js/_events.js\n/**\n * Add your global events here\n */\n/* harmony default export */ var _events = ({\n AJAX: 'ajax-load',\n AJAXMAIN: 'ajax-main-load',\n MAININIT: 'main-init',\n TABHIDDEN: 'tab-hidden',\n TABFOCUSED: 'tab-focused',\n OFFLINE: 'offline',\n ONLINE: 'online',\n BACKONLINE: 'back-online',\n TOUCHENABLE: 'touch-enabled',\n TOUCHDISABLED: 'touch-disabled',\n LOADED: 'load',\n SWIPELEFT: 'swipeleft panleft',\n SWIPERIGHT: 'swiperight panright',\n ALLERTAPPEARED: 'alert-appeared',\n ALERTREMOVED: 'alert-removed',\n LODEDANDREADY: 'load-ready',\n LAZYIMAGEREADY: 'image-lazy-bg-loaded',\n LAZYIMAGESREADY: 'images-lazy-loaded',\n MAPLOADED: 'map-loaded',\n MAPAPILOADED: 'map-api-loaded',\n MAPMARKERCLICK: 'map-marker-click',\n MAPPOPUPCLOSE: 'map-popup-close',\n SCROLL: 'scroll',\n RESIZE: 'resize',\n CAROUSEL_READY: 'bs.carousel.ready',\n SET_TARGET_UPDATE: 'set-target-update',\n RESTORE_FIELD: 'restore-field',\n FORM_INIT_BASICS: 'form-basics',\n FORM_INIT_STEPPED: 'form-init-stepped',\n FORM_INIT_VALIDATE: 'form-init-validate',\n FORM_INIT_VALIDATE_FIELD: 'form-init-validate-field',\n FORM_INIT_STORAGE: 'form-init-storage',\n FORM_VALIDATION_FAILED: 'form-validation-failed',\n FORM_STEPPED_NEW_STEP: 'form-new-step',\n FORM_STEPPED_FIRST_STEP: 'form-first-step',\n FORM_STEPPED_LAST_STEP: 'form-last-step',\n FORM_FIELDS: 'input,textarea,select'\n});\n;// CONCATENATED MODULE: ./src/js/meta-lightbox.js\n/*\n * MetaLightbox\n * https://tony.twma.pro\n *\n */\n// optional:\n//=require ../../bower_components/jquery-zoom/jquery.zoom.js\n\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n\n\n\nvar MetaLightboxUI = function ($) {\n var W = window;\n var $W = $(W);\n var D = document;\n var $Body = $('body');\n var NAME = 'MetaLightboxUI';\n var NETWORK_ERROR = '
Connection failure.
';\n\n var MetaLightboxUI = /*#__PURE__*/function () {\n function MetaLightboxUI() {\n _classCallCheck(this, MetaLightboxUI);\n }\n\n _createClass(MetaLightboxUI, null, [{\n key: \"init\",\n value: function init() {\n console.log(\"\".concat(NAME, \": init ...\"));\n var ui = this;\n ui.isMSIE =\n /*@cc_on!@*/\n 0;\n\n try {\n ui.isHidpi = ui.is_hdpi();\n } catch (e) {\n console.log(\"\".concat(NAME, \": catch\"));\n }\n\n $(\".js\".concat(NAME, \",[data-toggle=\\\"lightbox\\\"],[data-lightbox-gallery]\")).on('click', function (e) {\n e.preventDefault();\n e.stopPropagation();\n var $link = $(e.currentTarget);\n ui.show($link);\n });\n $(\".js\".concat(NAME, \"-close-inline\")).on('click', function (e) {\n var $el = $(e.currentTarget);\n $el.parents('.meta-lightbox-overlay').removeClass('meta-lightbox-open');\n });\n }\n }, {\n key: \"is_hdpi\",\n value: function is_hdpi() {\n console.log(\"\".concat(NAME, \": isHidpi\"));\n var mediaQuery = '(-webkit-min-device-pixel-ratio: 1.5),\\\n (min--moz-device-pixel-ratio: 1.5),\\\n (-o-min-device-pixel-ratio: 3/2),\\\n (min-resolution: 1.5dppx)';\n if (W.devicePixelRatio > 1) return true;\n return W.matchMedia && W.matchMedia(mediaQuery).matches;\n }\n }, {\n key: \"show\",\n value: function show($link) {\n console.log(\"\".concat(NAME, \": show\"));\n var ui = this;\n var $lightbox = ui.constructLightbox();\n if (!$lightbox) return;\n var $content = ui.$content;\n if (!$content) return;\n $Body.addClass(\"meta-lightbox-body-effect-fade\"); // Add content\n\n ui.process($content, $link); // Nav\n\n if ($link.data('lightbox-gallery')) {\n var $galleryItems = $(\"[data-lightbox-gallery=\\\"\".concat($link.data('lightbox-gallery'), \"\\\"]\"));\n\n if ($galleryItems.length === 1) {\n $('.meta-lightbox-nav').hide();\n } else {\n $('.meta-lightbox-nav').show();\n } // Prev\n\n\n $('.meta-lightbox-prev').off('click').on('click', function (e) {\n e.preventDefault();\n var index = $galleryItems.index($link);\n var $currentLink = $galleryItems.eq(index - 1);\n if (!$currentLink.length) $currentLink = $galleryItems.last(); //ui.hide();\n\n setTimeout(function () {\n ui.show($currentLink);\n }, 10);\n }); // Next\n\n $('.meta-lightbox-next').off('click').on('click', function (e) {\n e.preventDefault();\n var index = $galleryItems.index($link);\n var $currentLink = $galleryItems.eq(index + 1);\n if (!$currentLink.length) $currentLink = $galleryItems.first(); //ui.hide();\n\n setTimeout(function () {\n ui.show($currentLink);\n }, 10);\n });\n }\n\n setTimeout(function () {\n ui.$overlay.addClass('meta-lightbox-open');\n }, 1); // For CSS transitions\n }\n }, {\n key: \"constructLightbox\",\n value: function constructLightbox() {\n console.log(\"\".concat(NAME, \": constructLightbox\"));\n var ui = this;\n var overlay = $('
', {\n class: 'meta-lightbox-overlay meta-lightbox-theme-default meta-lightbox-effect-fade'\n });\n var wrap = $('
', {\n class: 'meta-lightbox-wrap'\n });\n var content = $('
', {\n class: 'meta-lightbox-content'\n });\n var nav = $(' Previous Next');\n var close = $('Close');\n var title = $('
', {\n class: 'meta-lightbox-title-wrap'\n });\n if (ui.$overlay) return ui.$overlay;\n if (ui.isMSIE) overlay.addClass('meta-lightbox-ie');\n wrap.append(content);\n wrap.append(title);\n overlay.append(wrap);\n overlay.append(nav);\n overlay.append(close);\n $Body.append(overlay);\n overlay.on('click', function (e) {\n e.preventDefault();\n ui.hide();\n });\n close.on('click', function (e) {\n e.preventDefault();\n ui.hide();\n });\n ui.$overlay = overlay;\n ui.$content = content;\n ui.$title = title;\n return ui.$overlay;\n }\n }, {\n key: \"setTitle\",\n value: function setTitle(str) {\n var ui = this;\n ui.$title.html(str);\n }\n }, {\n key: \"process\",\n value: function process($content, $link) {\n console.log(\"\".concat(NAME, \": process\"));\n var ui = this;\n var href = $link.attr('href') && $link.attr('href').length ? $link.attr('href') : $link.data('href'); // add custom link specific class\n\n ui.$content.attr('class', 'meta-lightbox-content');\n ui.$content.addClass($link.data('lightbox-class'));\n\n if (!href.length) {\n console.log($link);\n console.error(\"\".concat(NAME, \": href(attr/data) is missing\"));\n }\n\n var $pageSpinner = $('#PageLoading .loading-spinner');\n var loadingContent = $pageSpinner.length ? $pageSpinner.clone() : '';\n ui.$content.append(loadingContent).addClass('meta-lightbox-loading'); // Image\n\n if (href.match(/\\.(jpeg|jpg|gif|png|svg)$/i) || $link.data('force') === 'image') {\n $.ajax({\n url: href,\n success: function success() {\n var img = $('', {\n src: href\n });\n var wrap = $('
');\n var imgwrapper = $('');\n imgwrapper.append(img);\n wrap.append(imgwrapper); // Vertically center images\n\n wrap.css({\n 'line-height': \"\".concat($content.height(), \"px\"),\n height: \"\".concat($content.height(), \"px\") // For Firefox\n\n });\n $W.resize(function () {\n wrap.css({\n 'line-height': \"\".concat($content.height(), \"px\"),\n height: \"\".concat($content.height(), \"px\") // For Firefox\n\n });\n });\n\n if (typeof imgwrapper['zoom'] !== 'undefined') {\n imgwrapper.zoom();\n } else {\n imgwrapper.addClass('no-zoom');\n }\n\n ui.$content.html(wrap);\n ui.contentLoaded();\n },\n error: function error(jqXHR, status) {\n var wrap = $(NETWORK_ERROR);\n ui.$content.html(wrap);\n ui.contentLoaded();\n }\n }); // Set the title\n\n var title = $link.data('title') ? $link.data('title') : $link.attr('title');\n ui.setTitle(title); // google analytics\n\n if (typeof ga === 'function') {\n ga('send', 'event', 'meta', 'Image Click', href);\n }\n } // Video (Youtube/Vimeo)\n else if (href.match(/(youtube|youtube-nocookie|youtu|vimeo)\\.(com|be)\\/(watch\\?v=([\\w-]+)|([\\w-]+))/) || $link.data('force') === 'youtube' || $link.data('force') === 'vimeo') {\n var video = href.match(/(youtube|youtube-nocookie|youtu|vimeo)\\.(com|be)\\/(watch\\?v=([\\w-]+)|([\\w-]+))/);\n var classTerm = 'meta-lightbox-video';\n var src;\n\n if (video[1] == 'youtube') {\n src = \"https://www.youtube.com/embed/\".concat(video[4]);\n classTerm = \"\".concat(classTerm, \" meta-lightbox-youtube\");\n }\n\n if (video[1] == 'youtu') {\n src = \"https://www.youtube.com/embed/\".concat(video[3]);\n classTerm = \"\".concat(classTerm, \" meta-lightbox-youtube\");\n }\n\n if (video[1] == 'youtube-nocookie') {\n src = \"https://www.youtube-nocookie.com/embed/\".concat(video[4]);\n classTerm = \"\".concat(classTerm, \" meta-lightbox-youtube\");\n }\n\n if (video[1] == 'vimeo') {\n src = \"https://player.vimeo.com/video/\".concat(video[3]);\n classTerm = \"\".concat(classTerm, \" meta-lightbox-vimeo\");\n }\n\n if (!src) {\n console.warn(\"\".concat(NAME, \": Video loading bad URL\"));\n return false;\n }\n\n var $iframe = ui.loadIframe(src, classTerm);\n\n if (!$iframe) {\n $link.addClass('meta-offline');\n return false;\n }\n\n $link.removeClass('meta-offline'); // Set the title\n\n var _title = $link.data('title') ? $link.data('title') : $link.attr('title');\n\n ui.setTitle(_title); // google analytics\n\n if (typeof ga === 'function') {\n ga('send', 'event', 'meta', 'Video Click', video);\n }\n } // Inline HTML\n else if (href.substring(0, 1) == '#' || $link.data('force') === 'inline') {\n if ($(href).length) {\n wrap = $('
');\n wrap.append($(href).clone().show()); // Vertically center html\n\n if (wrap.outerHeight() < ui.$content.height()) {\n wrap.css({\n position: 'relative',\n top: '50%',\n 'margin-top': \"\".concat(-(wrap.outerHeight() / 2), \"px\")\n });\n }\n\n $W.resize(function () {\n if (wrap.outerHeight() < ui.$content.height()) {\n wrap.css({\n position: 'relative',\n top: '50%',\n 'margin-top': \"\".concat(-(wrap.outerHeight() / 2), \"px\")\n });\n }\n });\n ui.$content.html(wrap);\n ui.contentLoaded();\n } else {\n wrap = $(NETWORK_ERROR);\n ui.$content.html(wrap);\n ui.contentLoaded();\n }\n\n $('.meta-lightbox-title-wrap').html(''); // google analytics\n\n if (typeof ga === 'function') {\n ga('send', 'event', 'meta', 'inline HTML click', href);\n }\n } // AJAX/iFrame (default)\n else {\n if ($link.data('force-iframe') || $link.data('force') === 'iframe') {\n console.log(\"\".concat(NAME, \": IFrame forced\"));\n\n var _$iframe = ui.loadIframe(href, 'meta-lightbox-iframe-content');\n\n if (!_$iframe) {\n $link.addClass('meta-offline');\n return false;\n }\n\n $link.removeClass('meta-offline');\n return true;\n }\n\n console.log(\"\".concat(NAME, \": loading AJAX\"));\n $.ajax({\n sync: false,\n async: true,\n url: href,\n dataType: 'html',\n method: 'GET',\n cache: false,\n statusCode: {\n 404: function _() {\n console.log(\"\".concat(NAME, \": page not found\"));\n W.location.href = url;\n },\n 302: function _() {\n console.log(\"\".concat(NAME, \": redirect 302\"));\n W.location.href = url;\n }\n },\n error: function error(jqXHR, status) {\n console.log(\"\".concat(NAME, \": AJAX request failure.\").concat(jqXHR.statusText));\n var wrap = $(NETWORK_ERROR);\n ui.$content.html(wrap);\n ui.contentLoaded(); // google analytics\n\n if (typeof ga === 'function') {\n ga('send', 'event', 'error', 'AJAX ERROR', jqXHR.statusText);\n }\n },\n success: function success(data, status, jqXHR) {\n console.log(\"\".concat(NAME, \": AJAX success\"));\n\n try {\n var dataJson = $.parseJSON(data);\n\n if (_typeof(dataJson) === 'object') {\n console.log(\"\".concat(NAME, \": AJAX JSON\")); // Replace regions\n\n if (_typeof(dataJson['regions']) === 'object' && typeof dataJson['regions']['LayoutAjax'] !== 'undefinded') {\n var wrap = $('
');\n wrap.html(dataJson['regions']['LayoutAjax']);\n ui.$content.html(wrap);\n ui.contentLoaded();\n } // trigger events\n\n /*if (typeof (data['events']) === 'object') {\n for (var eventName in data.events) {\n $(D).trigger(eventName, [data['events'][eventName]]);\n }\n }*/\n\n\n var title = jqXHR.getResponseHeader('X-Title'),\n link = jqXHR.getResponseHeader('X-Link');\n\n if (title && title.length && link && link.length && link !== W.location.href && link.substring(0, link.indexOf('#')) !== W.location.href.replace($('base').attr('href'), '/')) {\n $('.meta-lightbox-ajax').data('curr-title', D.title);\n $('.meta-lightbox-ajax').data('curr-link', W.location.href);\n\n if (typeof W.localStorage !== 'undefined' && link !== '/') {\n W.localStorage.setItem('current-page', link);\n }\n\n if (D.URL !== link && D.URL !== $('base').attr('href') + link && D.URL !== \"\".concat($('base').attr('href'), \"/\").concat(link)) {\n W.history.pushState({\n title: title,\n page: link,\n ajax: 'true'\n }, title, link);\n }\n\n $('.meta-lightbox-title-wrap').html(''); // google analytics\n\n if (typeof ga === 'function') {\n ga('set', {\n page: link.replace($('base').attr('href'), ''),\n title: title\n });\n ga('send', 'pageview');\n }\n }\n }\n } catch (e) {\n console.log(\"\".concat(NAME, \": AJAX HTML\"));\n var $wrap = $('
');\n $wrap.append(data);\n ui.$content.html($wrap);\n ui.contentLoaded();\n } // Vertically center html\n\n /*if (wrap.outerHeight() < ui.$content.height()) {\n wrap.css({\n position: 'relative',\n top: '50%',\n 'margin-top': `${-(wrap.outerHeight() / 2)}px`,\n });\n }\n $W.resize(() => {\n if (wrap.outerHeight() < ui.$content.height()) {\n wrap.css({\n position: 'relative',\n top: '50%',\n 'margin-top': `${-(wrap.outerHeight() / 2)}px`,\n });\n }\n });*/\n\n /*setTimeout(() => {\n $W.resize();\n if (typeof W.imagesLoaded === 'function') {\n W.imagesLoaded().then(() => {\n $W.resize();\n });\n }\n }, 500);*/\n\n\n ui.contentLoaded();\n }\n });\n }\n }\n }, {\n key: \"loadIframe\",\n value: function loadIframe(href, classTerm) {\n var ui = this;\n var $iframe = $('