webpackJsonp([1],{
/***/ "./assets/js/Components/Contact/ContactForm.vue":
/***/ (function(module, exports, __webpack_require__) {
var disposed = false
function injectStyle (ssrContext) {
if (disposed) return
__webpack_require__("./node_modules/vue-style-loader/index.js!./node_modules/css-loader/index.js?sourceMap!./node_modules/vue-loader/lib/style-compiler/index.js?{\"vue\":true,\"id\":\"data-v-43a2b584\",\"scoped\":true,\"hasInlineConfig\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./assets/js/Components/Contact/ContactForm.vue")
}
var normalizeComponent = __webpack_require__("./node_modules/vue-loader/lib/component-normalizer.js")
/* script */
var __vue_script__ = __webpack_require__("./node_modules/babel-loader/lib/index.js?{\"cacheDirectory\":true,\"presets\":[[\"env\",{\"modules\":false,\"targets\":{\"browsers\":[\"> 2%\"],\"uglify\":true}}]],\"plugins\":[\"transform-object-rest-spread\",[\"transform-runtime\",{\"polyfill\":false,\"helpers\":false}]]}!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./assets/js/Components/Contact/ContactForm.vue")
/* template */
var __vue_template__ = null
/* template functional */
var __vue_template_functional__ = false
/* styles */
var __vue_styles__ = injectStyle
/* scopeId */
var __vue_scopeId__ = "data-v-43a2b584"
/* moduleIdentifier (server only) */
var __vue_module_identifier__ = null
var Component = normalizeComponent(
__vue_script__,
__vue_template__,
__vue_template_functional__,
__vue_styles__,
__vue_scopeId__,
__vue_module_identifier__
)
Component.options.__file = "assets/js/Components/Contact/ContactForm.vue"
/* hot reload */
if (false) {(function () {
var hotAPI = require("vue-hot-reload-api")
hotAPI.install(require("vue"), false)
if (!hotAPI.compatible) return
module.hot.accept()
if (!module.hot.data) {
hotAPI.createRecord("data-v-43a2b584", Component.options)
} else {
hotAPI.reload("data-v-43a2b584", Component.options)
}
module.hot.dispose(function (data) {
disposed = true
})
})()}
module.exports = Component.exports
/***/ }),
/***/ "./assets/js/Components/Recaptcha/Index.vue":
/***/ (function(module, exports, __webpack_require__) {
var disposed = false
function injectStyle (ssrContext) {
if (disposed) return
__webpack_require__("./node_modules/vue-style-loader/index.js!./node_modules/css-loader/index.js?sourceMap!./node_modules/vue-loader/lib/style-compiler/index.js?{\"vue\":true,\"id\":\"data-v-1ea2c299\",\"scoped\":true,\"hasInlineConfig\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./assets/js/Components/Recaptcha/Index.vue")
}
var normalizeComponent = __webpack_require__("./node_modules/vue-loader/lib/component-normalizer.js")
/* script */
var __vue_script__ = __webpack_require__("./node_modules/babel-loader/lib/index.js?{\"cacheDirectory\":true,\"presets\":[[\"env\",{\"modules\":false,\"targets\":{\"browsers\":[\"> 2%\"],\"uglify\":true}}]],\"plugins\":[\"transform-object-rest-spread\",[\"transform-runtime\",{\"polyfill\":false,\"helpers\":false}]]}!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./assets/js/Components/Recaptcha/Index.vue")
/* template */
var __vue_template__ = __webpack_require__("./node_modules/vue-loader/lib/template-compiler/index.js?{\"id\":\"data-v-1ea2c299\",\"hasScoped\":true,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./assets/js/Components/Recaptcha/Index.vue")
/* template functional */
var __vue_template_functional__ = false
/* styles */
var __vue_styles__ = injectStyle
/* scopeId */
var __vue_scopeId__ = "data-v-1ea2c299"
/* moduleIdentifier (server only) */
var __vue_module_identifier__ = null
var Component = normalizeComponent(
__vue_script__,
__vue_template__,
__vue_template_functional__,
__vue_styles__,
__vue_scopeId__,
__vue_module_identifier__
)
Component.options.__file = "assets/js/Components/Recaptcha/Index.vue"
/* hot reload */
if (false) {(function () {
var hotAPI = require("vue-hot-reload-api")
hotAPI.install(require("vue"), false)
if (!hotAPI.compatible) return
module.hot.accept()
if (!module.hot.data) {
hotAPI.createRecord("data-v-1ea2c299", Component.options)
} else {
hotAPI.reload("data-v-1ea2c299", Component.options)
}
module.hot.dispose(function (data) {
disposed = true
})
})()}
module.exports = Component.exports
/***/ }),
/***/ "./assets/js/Components/Recaptcha/defer.helper.js":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var defer = function defer() {
var state = false; // Resolved or not
var callbacks = [];
var resolve = function resolve(val) {
if (state) {
return;
}
state = true;
for (var i = 0, len = callbacks.length; i < len; i++) {
callbacks[i](val);
}
};
var then = function then(cb) {
if (!state) {
callbacks.push(cb);
return;
}
cb();
};
return {
resolved: function resolved() {
return state;
},
resolve: resolve,
promise: {
then: then
}
};
};
exports.default = defer;
/***/ }),
/***/ "./assets/js/Components/Recaptcha/recaptcha.helper.js":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createRecaptcha = createRecaptcha;
var _defer = __webpack_require__("./assets/js/Components/Recaptcha/defer.helper.js");
var _defer2 = _interopRequireDefault(_defer);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function createRecaptcha() {
var deferred = (0, _defer2.default)();
return {
notify: function notify() {
deferred.resolve();
},
wait: function wait() {
return deferred.promise;
},
render: function render(ele, options, cb) {
this.wait().then(function () {
cb(window.grecaptcha.render(ele, options));
});
},
reset: function reset(widgetId) {
if (typeof widgetId === "undefined") {
return;
}
this.assertLoaded();
this.wait().then(function () {
return window.grecaptcha.reset(widgetId);
});
},
execute: function execute(widgetId) {
if (typeof widgetId === "undefined") {
return;
}
this.assertLoaded();
this.wait().then(function () {
return window.grecaptcha.execute(widgetId);
});
},
checkRecaptchaLoad: function checkRecaptchaLoad() {
if (window.hasOwnProperty("grecaptcha") && window.grecaptcha.hasOwnProperty("render")) {
this.notify();
return true;
}
return false;
},
assertLoaded: function assertLoaded() {
if (!deferred.resolved()) {
throw new Error("ReCAPTCHA has not been loaded");
}
}
};
}
var recaptchaHelper = createRecaptcha();
if (typeof window !== "undefined" && typeof window.grecaptcha !== "undefined") {
window.vueRecaptchaApiLoaded = recaptchaHelper.notify;
}
exports.default = recaptchaHelper;
/***/ }),
/***/ "./assets/js/Components/index.js":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _ContactForm = __webpack_require__("./assets/js/Components/Contact/ContactForm.vue");
var _ContactForm2 = _interopRequireDefault(_ContactForm);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
//Assign Components to variables
var components = {
"contact-form": _ContactForm2.default
}; // Import Components
exports.default = components;
/***/ }),
/***/ "./assets/js/app.js":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function(__webpack_provided_window_dot_jQuery) {
var _axios = __webpack_require__("./node_modules/axios/index.js");
var _axios2 = _interopRequireDefault(_axios);
var _lodash = __webpack_require__("./node_modules/lodash/lodash.js");
var _ = _interopRequireWildcard(_lodash);
var _Components = __webpack_require__("./assets/js/Components/index.js");
var _Components2 = _interopRequireDefault(_Components);
function _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; } }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
window.Vue = __webpack_require__("./node_modules/vue/dist/vue.common.js");
/**
* First we will load all of this project's JavaScript dependencies which
* includes Vue and other libraries. It is a great starting point when
* building robust, powerful web applications using Vue and Laravel.
*/
try {
window.$ = __webpack_provided_window_dot_jQuery = __webpack_require__("./node_modules/jquery/dist/jquery.js");
__webpack_require__("./node_modules/popper.js/dist/esm/popper.js");
__webpack_require__("./node_modules/bootstrap/dist/js/bootstrap.js");
__webpack_require__("./node_modules/slick-carousel/slick/slick.js");
__webpack_require__("./assets/js/jquery.js");
__webpack_require__("./assets/js/progressive_image.js");
} catch (error) {
console.error(error);
}
var priorityNav = __webpack_require__("./node_modules/priority-nav/dist/priority-nav.js");
_axios2.default.defaults.headers.common["X-Requested-With"] = "XMLHttpRequest";
/**
* Next we will register the CSRF Token as a common header with Axios so that
* all outgoing HTTP requests automatically have it attached. This is just
* a simple convenience so we don't have to attach every token manually.
*/
var token = document.head.querySelector("meta[name=\"csrf-token\"]");
if (token) {
(function () {
var send = XMLHttpRequest.prototype.send;
XMLHttpRequest.prototype.send = function (data) {
this.setRequestHeader("X-CSRF-Token", token.content);
return send.apply(this, arguments);
};
})();
} else {
console.error("CSRF token not found: https://laravel.com/docs/csrf#csrf-x-csrf-token");
}
Vue.prototype.$http = _axios2.default.create();
Vue.config.errorHandler = function (err, vm, info) {
console.error(err);
};
Vue.mixin({
data: function data() {
return {
errorResponse: {}
};
},
methods: {
hasError: function hasError(name) {
if (this.errorResponse.errors !== undefined) {
return _.get(this.errorResponse.errors, name, false);
}
return false;
},
getError: function getError(name) {
if (this.hasError(name)) {
return _.head(this.hasError(name));
}
},
clearError: function clearError(name) {
if (this.hasError(name)) {
delete this.errorResponse.errors[name];
}
}
}
});
//Vue instance
new Vue({
el: "#app",
components: _Components2.default
});
// Priority Nav
var nav = priorityNav.init({
mainNavWrapper: ".nav-wrapper",
mainNav: ".nav",
navDropdownLabel: ':'
});
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__("./node_modules/jquery/dist/jquery.js")))
/***/ }),
/***/ "./assets/js/common.js":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function($) {
Object.defineProperty(exports, "__esModule", {
value: true
});
var responsiveText = exports.responsiveText = function responsiveText(selector) {
var rtWrappers = document.querySelectorAll(selector);
rtWrappers.forEach(function (wrapper) {
var width = wrapper.offsetWidth,
height = wrapper.offsetHeight,
text = wrapper.innerHTML;
var textLength = typeof text === "string" ? text.trim().replace(" ", "").length : 0;
var bestRatio = height / 1.4;
var fontSize = 0;
if (textLength > 0) {
fontSize = Math.floor(1.6 * width / textLength);
}
wrapper.style.fontSize = (fontSize > bestRatio ? bestRatio : fontSize) + "px";
wrapper.style.lineHeight = height + "px";
});
};
var scrollToTop = exports.scrollToTop = function scrollToTop(selector) {
var scrollShowAfter = 700; //px
var button = $(selector);
var showScrollButton = function showScrollButton() {
var scrollTop = $(window).scrollTop();
if (scrollTop > scrollShowAfter) {
button.addClass("show");
} else {
button.removeClass("show");
}
};
showScrollButton();
$(window).on("scroll", function () {
showScrollButton();
});
button.on("click", function (event) {
event.preventDefault();
$("html,body").animate({
scrollTop: 0
}, scrollShowAfter);
});
};
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__("./node_modules/jquery/dist/jquery.js")))
/***/ }),
/***/ "./assets/js/jquery.js":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* WEBPACK VAR INJECTION */(function($) {
var _common = __webpack_require__("./assets/js/common.js");
$(document).ready(function () {
/**
* Responsive Title
*/
(0, _common.responsiveText)(".responsive-logo");
/**
* Scroll to top button
*/
(0, _common.scrollToTop)("#back-to-top");
/**
* Menu Toggler
*/
$(".menu-toggler-icon").click(function () {
$(".menu-mobile, body").toggleClass("menu-open");
});
/**
* Slick Sliders
*/
$(".hero-slider").slick({
infinite: true,
slidesToShow: 1,
slidesToScroll: 1,
autoplay: true,
dots: true
});
$(".gallery-main").slick({
slidesToShow: 1,
slidesToScroll: 1,
fade: true,
asNavFor: ".gallery-nav"
});
$(".gallery-nav").slick({
slidesToShow: 5,
slidesToScroll: 1,
asNavFor: ".gallery-main",
centerMode: true,
focusOnSelect: true,
infinite: true
});
// Responsive dropdown menu
var mainMenuToggle = $('.mobile-nav-item.has-submenu > .mobile-nav-link');
var mainMenuToggleTarget = $('.mobile-nav-item.has-submenu > .mobile-sub-menu');
var subMenuToggle = $('.mobile-nestednav-item.has-submenu > .mobile-sub-nav-link');
var subMenuToggleTarget = $('.mobile-nestednav-item > .mobile-sub-menu');
mainMenuToggle.on('click', function () {
event.preventDefault();
$(this).toggleClass('arrow-rotate');
$(this).find('+ .mobile-sub-menu').toggleClass('open');
});
subMenuToggle.on('click', function () {
event.preventDefault();
$(this).toggleClass('arrow-rotate');
$(this).find('+ .mobile-sub-menu').toggleClass('open');
});
});
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__("./node_modules/jquery/dist/jquery.js")))
/***/ }),
/***/ "./assets/js/progressive_image.js":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
if (window.addEventListener && window.requestAnimationFrame && document.getElementsByClassName) window.addEventListener("load", function () {
var ImageArray = document.querySelectorAll(".progressive");
ImageArray.forEach(function (image) {
var newImage = new Image();
if (_typeof(image.dataset.srcset) !== undefined) {
newImage.srcset = image.dataset.srcset;
newImage.src = extractUrl(image.dataset.srcset);
newImage.onload = function () {
image.src = newImage.src;
};
}
});
});
function extractUrl() {
var srcset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
var sources = srcset.split(","),
urls = {};
var widths = sources.map(function (source) {
var widthUrl = source.trim().split(" "),
width = null;
if (widthUrl.length === 2) {
width = parseInt(widthUrl[1].replace(/[^\d]/g, ""));
urls[width] = widthUrl[0];
}
return width;
}).filter(function (width) {
return width;
});
var currentWidth = window.innerWidth;
widths = widths.sort(function (a, b) {
return b - a;
});
return urls[widths.reduce(function (best, width) {
return width >= currentWidth ? width : best;
}, widths[0])];
}
/***/ }),
/***/ "./assets/sass/app.scss":
/***/ (function(module, exports) {
// removed by extract-text-webpack-plugin
/***/ }),
/***/ "./node_modules/babel-loader/lib/index.js?{\"cacheDirectory\":true,\"presets\":[[\"env\",{\"modules\":false,\"targets\":{\"browsers\":[\"> 2%\"],\"uglify\":true}}]],\"plugins\":[\"transform-object-rest-spread\",[\"transform-runtime\",{\"polyfill\":false,\"helpers\":false}]]}!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./assets/js/Components/Contact/ContactForm.vue":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
// noinspection ES6UnusedImports
var _vue = __webpack_require__("./node_modules/vue/dist/vue.common.js");
var _vue2 = _interopRequireDefault(_vue);
var _Index = __webpack_require__("./assets/js/Components/Recaptcha/Index.vue");
var _Index2 = _interopRequireDefault(_Index);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = {
name: "ContactForm",
components: {
"recaptcha": _Index2.default
},
data: function data() {
return {
full_name: "",
email: "",
message: "",
isLoading: false,
isVerifying: false,
successNotification: "",
errorNotification: ""
};
},
computed: {
formData: function formData() {
return {
full_name: this.full_name,
email: this.email,
message: this.message
};
},
successButtonLabel: function successButtonLabel() {
return this.isVerifying ? "Verifying..." : this.isLoading ? "Submitting..." : "Submit";
}
},
methods: {
handleSubmit: function handleSubmit() {
if (this.isVerifying || this.isLoading) {
return;
}
_vue2.default.set(this, "isVerifying", true);
this.$refs.recaptcha.execute();
},
recaptchaVerified: function recaptchaVerified(reCaptchaToken) {
var _this = this;
if (this.isLoading) {
return;
}
_vue2.default.set(this, "isVerifying", false);
_vue2.default.set(this, "isLoading", true);
var formData = _extends({}, this.formData, { reCaptchaToken: reCaptchaToken });
var url = this.$el.action;
this.$http.post(url, formData).then(function (response) {
_vue2.default.set(_this, "isLoading", false);
_vue2.default.set(_this, "successNotification", response.data.message);
_this.resetForm();
}).catch(function (error) {
_vue2.default.set(_this, "isLoading", false);
if (error.hasOwnProperty("response") && error.response.hasOwnProperty("status") && error.response.status === 422) {
_this.errorResponse = error.response.data;
} else {
console.error(error.response);
}
});
},
resetForm: function resetForm() {
_vue2.default.set(this, "full_name", "");
_vue2.default.set(this, "email", "");
_vue2.default.set(this, "message", "");
}
}
};
/***/ }),
/***/ "./node_modules/babel-loader/lib/index.js?{\"cacheDirectory\":true,\"presets\":[[\"env\",{\"modules\":false,\"targets\":{\"browsers\":[\"> 2%\"],\"uglify\":true}}]],\"plugins\":[\"transform-object-rest-spread\",[\"transform-runtime\",{\"polyfill\":false,\"helpers\":false}]]}!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./assets/js/Components/Recaptcha/Index.vue":
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _recaptcha = __webpack_require__("./assets/js/Components/Recaptcha/recaptcha.helper.js");
var _recaptcha2 = _interopRequireDefault(_recaptcha);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = {
name: "Recaptcha",
props: {
siteKey: { type: String, required: true }
},
data: function data() {
return {
widgetId: 0
};
},
mounted: function mounted() {
this.init();
},
methods: {
init: function init() {
var _this = this;
setTimeout(function () {
var isLoaded = _recaptcha2.default.checkRecaptchaLoad();
if (!isLoaded) {
_this.init();
return;
}
_recaptcha2.default.render("recaptcha", {
sitekey: _this.siteKey,
size: "invisible",
badge: "inline",
callback: _this.emitVerify,
"expired-callback": _this.emitExpired
}, function (id) {
_this.widgetId = id;
_this.$emit("render", id);
});
}, 500);
},
emitVerify: function emitVerify(response) {
this.$emit("verify", response);
this.reset();
},
emitExpired: function emitExpired() {
this.$emit("expired");
},
reset: function reset() {
_recaptcha2.default.reset(this.widgetId);
},
execute: function execute() {
_recaptcha2.default.execute(this.widgetId);
}
}
}; //
//
//
//
/***/ }),
/***/ "./node_modules/css-loader/index.js?sourceMap!./node_modules/vue-loader/lib/style-compiler/index.js?{\"vue\":true,\"id\":\"data-v-1ea2c299\",\"scoped\":true,\"hasInlineConfig\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./assets/js/Components/Recaptcha/Index.vue":
/***/ (function(module, exports, __webpack_require__) {
exports = module.exports = __webpack_require__("./node_modules/css-loader/lib/css-base.js")(true);
// imports
// module
exports.push([module.i, "\n.recaptcha[data-v-1ea2c299] {\n display: none !important;\n}\n", "", {"version":3,"sources":["/Users/dhondup/htdocs/ngodistro/themes/Emerald/assets/js/Components/Recaptcha/assets/js/Components/Recaptcha/Index.vue"],"names":[],"mappings":";AAiEA;IACA,yBAAA;CACA","file":"Index.vue","sourcesContent":["\n \n\n\n\n\n\n"],"sourceRoot":""}]);
// exports
/***/ }),
/***/ "./node_modules/css-loader/index.js?sourceMap!./node_modules/vue-loader/lib/style-compiler/index.js?{\"vue\":true,\"id\":\"data-v-43a2b584\",\"scoped\":true,\"hasInlineConfig\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./assets/js/Components/Contact/ContactForm.vue":
/***/ (function(module, exports, __webpack_require__) {
exports = module.exports = __webpack_require__("./node_modules/css-loader/lib/css-base.js")(true);
// imports
// module
exports.push([module.i, "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", "", {"version":3,"sources":[],"names":[],"mappings":"","file":"ContactForm.vue","sourceRoot":""}]);
// exports
/***/ }),
/***/ "./node_modules/css-loader/lib/css-base.js":
/***/ (function(module, exports) {
/*
MIT License http://www.opensource.org/licenses/mit-license.php
Author Tobias Koppers @sokra
*/
// css base code, injected by the css-loader
module.exports = function(useSourceMap) {
var list = [];
// return the list of modules as css string
list.toString = function toString() {
return this.map(function (item) {
var content = cssWithMappingToString(item, useSourceMap);
if(item[2]) {
return "@media " + item[2] + "{" + content + "}";
} else {
return content;
}
}).join("");
};
// import a list of modules into the list
list.i = function(modules, mediaQuery) {
if(typeof modules === "string")
modules = [[null, modules, ""]];
var alreadyImportedModules = {};
for(var i = 0; i < this.length; i++) {
var id = this[i][0];
if(typeof id === "number")
alreadyImportedModules[id] = true;
}
for(i = 0; i < modules.length; i++) {
var item = modules[i];
// skip already imported module
// this implementation is not 100% perfect for weird media query combinations
// when a module is imported multiple times with different media queries.
// I hope this will never occur (Hey this way we have smaller bundles)
if(typeof item[0] !== "number" || !alreadyImportedModules[item[0]]) {
if(mediaQuery && !item[2]) {
item[2] = mediaQuery;
} else if(mediaQuery) {
item[2] = "(" + item[2] + ") and (" + mediaQuery + ")";
}
list.push(item);
}
}
};
return list;
};
function cssWithMappingToString(item, useSourceMap) {
var content = item[1] || '';
var cssMapping = item[3];
if (!cssMapping) {
return content;
}
if (useSourceMap && typeof btoa === 'function') {
var sourceMapping = toComment(cssMapping);
var sourceURLs = cssMapping.sources.map(function (source) {
return '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'
});
return [content].concat(sourceURLs).concat([sourceMapping]).join('\n');
}
return [content].join('\n');
}
// Adapted from convert-source-map (MIT)
function toComment(sourceMap) {
// eslint-disable-next-line no-undef
var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));
var data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;
return '/*# ' + data + ' */';
}
/***/ }),
/***/ "./node_modules/priority-nav/dist/priority-nav.js":
/***/ (function(module, exports, __webpack_require__) {
var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/*
* priority-nav - v1.0.13 | (c) 2018 @gijsroge | MIT license
* Repository: https://github.com/gijsroge/priority-navigation.git
* Description: Priority+ pattern navigation that hides menu items if they don't fit on screen.
* Demo: http://gijsroge.github.io/priority-nav.js/
*/
(function (root, factory) {
if (true) {
!(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory(root)),
__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :
__WEBPACK_AMD_DEFINE_FACTORY__),
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
} else if (typeof exports === "object") {
module.exports = factory(root);
} else {
root.priorityNav = factory(root);
}
})(window || this, function (root) {
"use strict";
/**
* Variables
*/
var priorityNav = {}; // Object for public APIs
var breaks = []; // Object to store instances with breakpoints where the instances menu item"s didin"t fit.
var supports = !!document.querySelector && !!root.addEventListener; // Feature test
var settings = {};
var instance = 0;
var count = 0;
var mainNavWrapper, totalWidth, restWidth, mainNav, navDropdown, navDropdownToggle, dropDownWidth, toggleWrapper;
var viewportWidth = 0;
/**
* Default settings
* @type {{initClass: string, navDropdown: string, navDropdownToggle: string, mainNavWrapper: string, moved: Function, movedBack: Function}}
*/
var defaults = {
initClass: "js-priorityNav", // Class that will be printed on html element to allow conditional css styling.
mainNavWrapper: "nav", // mainnav wrapper selector (must be direct parent from mainNav)
mainNav: "ul", // mainnav selector. (must be inline-block)
navDropdownClassName: "nav__dropdown", // class used for the dropdown.
navDropdownToggleClassName: "nav__dropdown-toggle", // class used for the dropdown toggle.
navDropdownLabel: "more", // Text that is used for the dropdown toggle.
navDropdownBreakpointLabel: "menu", //button label for navDropdownToggle when the breakPoint is reached.
breakPoint: 500, //amount of pixels when all menu items should be moved to dropdown to simulate a mobile menu
throttleDelay: 50, // this will throttle the calculating logic on resize because i'm a responsible dev.
offsetPixels: 0, // increase to decrease the time it takes to move an item.
count: true, // prints the amount of items are moved to the attribute data-count to style with css counter.
//Callbacks
moved: function () {
},
movedBack: function () {
}
};
/**
* A simple forEach() implementation for Arrays, Objects and NodeLists
* @private
* @param {Array|Object|NodeList} collection Collection of items to iterate
* @param {Function} callback Callback function for each iteration
* @param {Array|Object|NodeList} scope Object/NodeList/Array that forEach is iterating over (aka `this`)
*/
var forEach = function (collection, callback, scope) {
if (Object.prototype.toString.call(collection) === "[object Object]") {
for (var prop in collection) {
if (Object.prototype.hasOwnProperty.call(collection, prop)) {
callback.call(scope, collection[prop], prop, collection);
}
}
} else {
for (var i = 0, len = collection.length; i < len; i++) {
callback.call(scope, collection[i], i, collection);
}
}
};
/**
* Get the closest matching element up the DOM tree
* @param {Element} elem Starting element
* @param {String} selector Selector to match against (class, ID, or data attribute)
* @return {Boolean|Element} Returns false if not match found
*/
var getClosest = function (elem, selector) {
var firstChar = selector.charAt(0);
for (; elem && elem !== document; elem = elem.parentNode) {
if (firstChar === ".") {
if (elem.classList.contains(selector.substr(1))) {
return elem;
}
} else if (firstChar === "#") {
if (elem.id === selector.substr(1)) {
return elem;
}
} else if (firstChar === "[") {
if (elem.hasAttribute(selector.substr(1, selector.length - 2))) {
return elem;
}
}
}
return false;
};
/**
* Merge defaults with user options
* @private
* @param {Object} defaults Default settings
* @param {Object} options User options
* @returns {Object} Merged values of defaults and options
*/
var extend = function (defaults, options) {
var extended = {};
forEach(defaults, function (value, prop) {
extended[prop] = defaults[prop];
});
forEach(options, function (value, prop) {
extended[prop] = options[prop];
});
return extended;
};
/**
* Debounced resize to throttle execution
* @param func
* @param wait
* @param immediate
* @returns {Function}
*/
function debounce(func, wait, immediate) {
var timeout;
return function () {
var context = this, args = arguments;
var later = function () {
timeout = null;
if (!immediate) func.apply(context, args);
};
var callNow = immediate && !timeout;
clearTimeout(timeout);
timeout = setTimeout(later, wait);
if (callNow) func.apply(context, args);
};
}
/**
* Toggle class on element
* @param el
* @param className
*/
var toggleClass = function (el, className) {
if (el.classList) {
el.classList.toggle(className);
} else {
var classes = el.className.split(" ");
var existingIndex = classes.indexOf(className);
if (existingIndex >= 0)
classes.splice(existingIndex, 1); else
classes.push(className);
el.className = classes.join(" ");
}
};
/**
* Check if dropdown menu is already on page before creating it
* @param mainNavWrapper
*/
var prepareHtml = function (_this, settings) {
/**
* Create dropdow menu
* @type {HTMLElement}
*/
toggleWrapper = document.createElement("span");
navDropdown = document.createElement("ul");
navDropdownToggle = document.createElement("button");
/**
* Set label for dropdown toggle
* @type {string}
*/
navDropdownToggle.innerHTML = settings.navDropdownLabel;
/**
* Set aria attributes for accessibility
*/
navDropdownToggle.setAttribute("aria-controls", "menu");
navDropdownToggle.setAttribute("type", "button");
navDropdown.setAttribute("aria-hidden", "true");
/**
* Move elements to the right spot
*/
if(_this.querySelector(mainNav).parentNode !== _this){
console.warn("mainNav is not a direct child of mainNavWrapper, double check please");
return;
}
_this.insertAfter(toggleWrapper, _this.querySelector(mainNav));
toggleWrapper.appendChild(navDropdownToggle);
toggleWrapper.appendChild(navDropdown);
/**
* Add classes so we can target elements
*/
navDropdown.classList.add(settings.navDropdownClassName);
navDropdown.classList.add("priority-nav__dropdown");
navDropdownToggle.classList.add(settings.navDropdownToggleClassName);
navDropdownToggle.classList.add("priority-nav__dropdown-toggle");
//fix so button is type="button" and do not submit forms
navDropdownToggle.setAttribute("type", "button");
toggleWrapper.classList.add(settings.navDropdownClassName+"-wrapper");
toggleWrapper.classList.add("priority-nav__wrapper");
_this.classList.add("priority-nav");
};
/**
* Get innerwidth without padding
* @param element
* @returns {number}
*/
var getElementContentWidth = function(element) {
var styles = window.getComputedStyle(element);
var padding = parseFloat(styles.paddingLeft) +
parseFloat(styles.paddingRight);
return element.clientWidth - padding;
};
/**
* Get viewport size
* @returns {{width: number, height: number}}
*/
var viewportSize = function() {
var doc = document, w = window;
var docEl = (doc.compatMode && doc.compatMode === "CSS1Compat")?
doc.documentElement: doc.body;
var width = docEl.clientWidth;
var height = docEl.clientHeight;
// mobile zoomed in?
if ( w.innerWidth && width > w.innerWidth ) {
width = w.innerWidth;
height = w.innerHeight;
}
return {width: width, height: height};
};
/**
* Get width
* @param elem
* @returns {number}
*/
var calculateWidths = function (_this) {
totalWidth = getElementContentWidth(_this);
//Check if parent is the navwrapper before calculating its width
if (_this.querySelector(navDropdown).parentNode === _this) {
dropDownWidth = _this.querySelector(navDropdown).offsetWidth;
} else {
dropDownWidth = 0;
}
restWidth = getChildrenWidth(_this) + settings.offsetPixels;
viewportWidth = viewportSize().width;
};
/**
* Move item to array
* @param item
*/
priorityNav.doesItFit = function (_this) {
/**
* Check if it is the first run
*/
var delay = _this.getAttribute("instance") === 0 ? delay : settings.throttleDelay;
/**
* Increase instance
*/
instance++;
/**
* Debounced execution of the main logic
*/
(debounce(function () {
/**
* Get the current element"s instance
* @type {string}
*/
var identifier = _this.getAttribute("instance");
/**
* Update width
*/
calculateWidths(_this);
/**
* Keep executing until all menu items that are overflowing are moved
*/
while (totalWidth <= restWidth && _this.querySelector(mainNav).children.length > 0 || viewportWidth < settings.breakPoint && _this.querySelector(mainNav).children.length > 0) {
//move item to dropdown
priorityNav.toDropdown(_this, identifier);
//recalculate widths
calculateWidths(_this, identifier);
//update dropdownToggle label
if(viewportWidth < settings.breakPoint) updateLabel(_this, identifier, settings.navDropdownBreakpointLabel);
}
/**
* Keep executing until all menu items that are able to move back are moved
*/
while (totalWidth >= breaks[identifier][breaks[identifier].length - 1] && viewportWidth > settings.breakPoint) {
//move item to menu
priorityNav.toMenu(_this, identifier);
//update dropdownToggle label
if(viewportWidth > settings.breakPoint) updateLabel(_this, identifier, settings.navDropdownLabel);
}
/**
* If there are no items in dropdown hide dropdown
*/
if (breaks[identifier].length < 1) {
_this.querySelector(navDropdown).classList.remove("show");
//show navDropdownLabel
updateLabel(_this, identifier, settings.navDropdownLabel);
}
/**
* If there are no items in menu
*/
if (_this.querySelector(mainNav).children.length < 1) {
//show navDropdownBreakpointLabel
_this.classList.add("is-empty");
updateLabel(_this, identifier, settings.navDropdownBreakpointLabel);
}else{
_this.classList.remove("is-empty");
}
/**
* Check if we need to show toggle menu button
*/
showToggle(_this, identifier);
}, delay ))();
};
/**
* Show/hide toggle button
*/
var showToggle = function (_this, identifier) {
if (breaks[identifier].length < 1) {
_this.querySelector(navDropdownToggle).classList.add("priority-nav-is-hidden");
_this.querySelector(navDropdownToggle).classList.remove("priority-nav-is-visible");
_this.classList.remove("priority-nav-has-dropdown");
/**
* Set aria attributes for accessibility
*/
_this.querySelector(".priority-nav__wrapper").setAttribute("aria-haspopup", "false");
} else {
_this.querySelector(navDropdownToggle).classList.add("priority-nav-is-visible");
_this.querySelector(navDropdownToggle).classList.remove("priority-nav-is-hidden");
_this.classList.add("priority-nav-has-dropdown");
/**
* Set aria attributes for accessibility
*/
_this.querySelector(".priority-nav__wrapper").setAttribute("aria-haspopup", "true");
}
};
/**
* Update count on dropdown toggle button
*/
var updateCount = function (_this, identifier) {
_this.querySelector(navDropdownToggle).setAttribute("priorityNav-count", breaks[identifier].length);
};
var updateLabel = function(_this, identifier, label){
_this.querySelector(navDropdownToggle).innerHTML = label;
};
/**
* Move item to dropdown
*/
priorityNav.toDropdown = function (_this, identifier) {
/**
* move last child of navigation menu to dropdown
*/
if (_this.querySelector(navDropdown).firstChild && _this.querySelector(mainNav).children.length > 0) {
_this.querySelector(navDropdown).insertBefore(_this.querySelector(mainNav).lastElementChild, _this.querySelector(navDropdown).firstChild);
} else if (_this.querySelector(mainNav).children.length > 0) {
_this.querySelector(navDropdown).appendChild(_this.querySelector(mainNav).lastElementChild);
}
/**
* store breakpoints
*/
breaks[identifier].push(restWidth);
/**
* check if we need to show toggle menu button
*/
showToggle(_this, identifier);
/**
* update count on dropdown toggle button
*/
if (_this.querySelector(mainNav).children.length > 0 && settings.count) {
updateCount(_this, identifier);
}
/**
* If item has been moved to dropdown trigger the callback
*/
settings.moved();
};
/**
* Move item to menu
*/
priorityNav.toMenu = function (_this, identifier) {
/**
* move last child of navigation menu to dropdown
*/
if (_this.querySelector(navDropdown).children.length > 0) _this.querySelector(mainNav).appendChild(_this.querySelector(navDropdown).firstElementChild);
/**
* remove last breakpoint
*/
breaks[identifier].pop();
/**
* Check if we need to show toggle menu button
*/
showToggle(_this, identifier);
/**
* update count on dropdown toggle button
*/
if (_this.querySelector(mainNav).children.length > 0 && settings.count) {
updateCount(_this, identifier);
}
/**
* If item has been moved back to the main menu trigger the callback
*/
settings.movedBack();
};
/**
* Count width of children and return the value
* @param e
*/
var getChildrenWidth = function (e) {
var children = e.childNodes;
var sum = 0;
for (var i = 0; i < children.length; i++) {
if (children[i].nodeType !== 3) {
if(!isNaN(children[i].offsetWidth)){
sum += children[i].offsetWidth;
}
}
}
return sum;
};
/**
* Bind eventlisteners
*/
var listeners = function (_this, settings) {
// Check if an item needs to move
if(window.attachEvent) {
window.attachEvent("onresize", function() {
if(priorityNav.doesItFit)priorityNav.doesItFit(_this);
});
}
else if(window.addEventListener) {
window.addEventListener("resize", function() {
if(priorityNav.doesItFit)priorityNav.doesItFit(_this);
}, true);
}
// Toggle dropdown
_this.querySelector(navDropdownToggle).addEventListener("click", function () {
toggleClass(_this.querySelector(navDropdown), "show");
toggleClass(this, "is-open");
toggleClass(_this, "is-open");
/**
* Toggle aria hidden for accessibility
*/
if(-1 !== _this.className.indexOf( "is-open" )){
_this.querySelector(navDropdown).setAttribute("aria-hidden", "false");
}else{
_this.querySelector(navDropdown).setAttribute("aria-hidden", "true");
_this.querySelector(navDropdown).blur();
}
});
/*
* Remove when clicked outside dropdown
*/
document.addEventListener("click", function (event) {
if (!getClosest(event.target, "."+settings.navDropdownClassName) && event.target !== _this.querySelector(navDropdownToggle)) {
_this.querySelector(navDropdown).classList.remove("show");
_this.querySelector(navDropdownToggle).classList.remove("is-open");
_this.classList.remove("is-open");
}
});
/**
* Remove when escape key is pressed
*/
document.onkeydown = function (evt) {
evt = evt || window.event;
if (evt.keyCode === 27) {
document.querySelector(navDropdown).classList.remove("show");
document.querySelector(navDropdownToggle).classList.remove("is-open");
mainNavWrapper.classList.remove("is-open");
}
};
};
/**
* Remove function
*/
Element.prototype.remove = function() {
this.parentElement.removeChild(this);
};
/*global HTMLCollection */
NodeList.prototype.remove = HTMLCollection.prototype.remove = function() {
for(var i = 0, len = this.length; i < len; i++) {
if(this[i] && this[i].parentElement) {
this[i].parentElement.removeChild(this[i]);
}
}
};
/**
* Destroy the current initialization.
* @public
*/
priorityNav.destroy = function () {
// If plugin isn"t already initialized, stop
if (!settings) return;
// Remove feedback class
document.documentElement.classList.remove(settings.initClass);
// Remove toggle
toggleWrapper.remove();
// Remove settings
settings = null;
delete priorityNav.init;
delete priorityNav.doesItFit;
};
/**
* insertAfter function
* @param n
* @param r
*/
if (supports && typeof Node !== "undefined"){
Node.prototype.insertAfter = function(n,r) {this.insertBefore(n,r.nextSibling);};
}
var checkForSymbols = function(string){
var firstChar = string.charAt(0);
if (firstChar === "." || firstChar === "#") {
return false;
}else{
return true;
}
};
/**
* Initialize Plugin
* @public
* @param {Object} options User settings
*/
priorityNav.init = function (options) {
/**
* Merge user options with defaults
* @type {Object}
*/
settings = extend(defaults, options || {});
// Feature test.
if (!supports && typeof Node === "undefined"){
console.warn("This browser doesn't support priorityNav");
return;
}
// Options check
if (!checkForSymbols(settings.navDropdownClassName) || !checkForSymbols(settings.navDropdownToggleClassName)){
console.warn("No symbols allowed in navDropdownClassName & navDropdownToggleClassName. These are not selectors.");
return;
}
/**
* Store nodes
* @type {NodeList}
*/
var elements = document.querySelectorAll(settings.mainNavWrapper);
/**
* Loop over every instance and reference _this
*/
forEach(elements, function(_this){
/**
* Create breaks array
* @type {number}
*/
breaks[count] = [];
/**
* Set the instance number as data attribute
*/
_this.setAttribute("instance", count++);
/**
* Store the wrapper element
*/
mainNavWrapper = _this;
if (!mainNavWrapper) {
console.warn("couldn't find the specified mainNavWrapper element");
return;
}
/**
* Store the menu elementStore the menu element
*/
mainNav = settings.mainNav;
if (!_this.querySelector(mainNav)) {
console.warn("couldn't find the specified mainNav element");
return;
}
/**
* Check if we need to create the dropdown elements
*/
prepareHtml(_this, settings);
/**
* Store the dropdown element
*/
navDropdown = "."+settings.navDropdownClassName;
if (!_this.querySelector(navDropdown)) {
console.warn("couldn't find the specified navDropdown element");
return;
}
/**
* Store the dropdown toggle element
*/
navDropdownToggle = "."+settings.navDropdownToggleClassName;
if (!_this.querySelector(navDropdownToggle)) {
console.warn("couldn't find the specified navDropdownToggle element");
return;
}
/**
* Event listeners
*/
listeners(_this, settings);
/**
* Start first check
*/
priorityNav.doesItFit(_this);
});
/**
* Count amount of instances
*/
instance++;
/**
* Add class to HTML element to activate conditional CSS
*/
document.documentElement.classList.add(settings.initClass);
};
/**
* Public APIs
*/
return priorityNav;
});
/***/ }),
/***/ "./node_modules/vue-loader/lib/component-normalizer.js":
/***/ (function(module, exports) {
/* globals __VUE_SSR_CONTEXT__ */
// IMPORTANT: Do NOT use ES2015 features in this file.
// This module is a runtime utility for cleaner component module output and will
// be included in the final webpack user bundle.
module.exports = function normalizeComponent (
rawScriptExports,
compiledTemplate,
functionalTemplate,
injectStyles,
scopeId,
moduleIdentifier /* server only */
) {
var esModule
var scriptExports = rawScriptExports = rawScriptExports || {}
// ES6 modules interop
var type = typeof rawScriptExports.default
if (type === 'object' || type === 'function') {
esModule = rawScriptExports
scriptExports = rawScriptExports.default
}
// Vue.extend constructor export interop
var options = typeof scriptExports === 'function'
? scriptExports.options
: scriptExports
// render functions
if (compiledTemplate) {
options.render = compiledTemplate.render
options.staticRenderFns = compiledTemplate.staticRenderFns
options._compiled = true
}
// functional template
if (functionalTemplate) {
options.functional = true
}
// scopedId
if (scopeId) {
options._scopeId = scopeId
}
var hook
if (moduleIdentifier) { // server build
hook = function (context) {
// 2.3 injection
context =
context || // cached call
(this.$vnode && this.$vnode.ssrContext) || // stateful
(this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
// 2.2 with runInNewContext: true
if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
context = __VUE_SSR_CONTEXT__
}
// inject component styles
if (injectStyles) {
injectStyles.call(this, context)
}
// register component module identifier for async chunk inferrence
if (context && context._registeredComponents) {
context._registeredComponents.add(moduleIdentifier)
}
}
// used by ssr in case component is cached and beforeCreate
// never gets called
options._ssrRegister = hook
} else if (injectStyles) {
hook = injectStyles
}
if (hook) {
var functional = options.functional
var existing = functional
? options.render
: options.beforeCreate
if (!functional) {
// inject component registration as beforeCreate hook
options.beforeCreate = existing
? [].concat(existing, hook)
: [hook]
} else {
// for template-only hot-reload because in that case the render fn doesn't
// go through the normalizer
options._injectStyles = hook
// register for functioal component in vue file
options.render = function renderWithStyleInjection (h, context) {
hook.call(context)
return existing(h, context)
}
}
}
return {
esModule: esModule,
exports: scriptExports,
options: options
}
}
/***/ }),
/***/ "./node_modules/vue-loader/lib/template-compiler/index.js?{\"id\":\"data-v-1ea2c299\",\"hasScoped\":true,\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./assets/js/Components/Recaptcha/Index.vue":
/***/ (function(module, exports, __webpack_require__) {
var render = function() {
var _vm = this
var _h = _vm.$createElement
var _c = _vm._self._c || _h
return _c("div", { staticClass: "recaptcha", attrs: { id: "recaptcha" } })
}
var staticRenderFns = []
render._withStripped = true
module.exports = { render: render, staticRenderFns: staticRenderFns }
if (false) {
module.hot.accept()
if (module.hot.data) {
require("vue-hot-reload-api") .rerender("data-v-1ea2c299", module.exports)
}
}
/***/ }),
/***/ "./node_modules/vue-style-loader/index.js!./node_modules/css-loader/index.js?sourceMap!./node_modules/vue-loader/lib/style-compiler/index.js?{\"vue\":true,\"id\":\"data-v-1ea2c299\",\"scoped\":true,\"hasInlineConfig\":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./assets/js/Components/Recaptcha/Index.vue":
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a