{"version":3,"file":"js/app.f7eda6f9.js","mappings":"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","sources":["webpack://vue_ui/./src/bs.js","webpack://vue_ui/./src/App.vue","webpack://vue_ui/./src/components/ui/SiteHeader.vue","webpack://vue_ui/./src/components/ui/SiteHeader.vue?6220","webpack://vue_ui/./src/components/ui/NavButton.vue","webpack://vue_ui/./src/components/ui/NavButton.vue?ed8b","webpack://vue_ui/./src/components/ui/SiteFooter.vue","webpack://vue_ui/./src/components/ui/SiteFooter.vue?0269","webpack://vue_ui/./src/components/ui/NavMenu.vue","webpack://vue_ui/./src/components/ui/NavItem.vue","webpack://vue_ui/./src/components/ui/NavItem.vue?2526","webpack://vue_ui/./src/components/ui/NavMenu.vue?f860","webpack://vue_ui/./src/App.vue?7ccd","webpack://vue_ui/./src/data/default-data/destinationDefault.js","webpack://vue_ui/./src/data/modules/page.js","webpack://vue_ui/./src/data/modules/nav.js","webpack://vue_ui/./src/data/modules/snippet.js","webpack://vue_ui/./src/data/modules/form.js","webpack://vue_ui/./src/data/store.js","webpack://vue_ui/./src/main.js","webpack://vue_ui/webpack/bootstrap","webpack://vue_ui/webpack/runtime/chunk loaded","webpack://vue_ui/webpack/runtime/compat get default export","webpack://vue_ui/webpack/runtime/define property getters","webpack://vue_ui/webpack/runtime/ensure chunk","webpack://vue_ui/webpack/runtime/get javascript chunk filename","webpack://vue_ui/webpack/runtime/get mini-css chunk filename","webpack://vue_ui/webpack/runtime/global","webpack://vue_ui/webpack/runtime/hasOwnProperty shorthand","webpack://vue_ui/webpack/runtime/load script","webpack://vue_ui/webpack/runtime/make namespace object","webpack://vue_ui/webpack/runtime/publicPath","webpack://vue_ui/webpack/runtime/css loading","webpack://vue_ui/webpack/runtime/jsonp chunk loading","webpack://vue_ui/webpack/startup"],"sourcesContent":["var baseUrl = 'https://api.orantec.uk';\r\n//var baseUrl = 'https://localhost:5001'\r\n\r\n/* Fetch from server */\r\nexport const fetchData =\r\n async function (url = '', data = {}) {\r\n const response = await fetch(`${baseUrl}${url}`, {\r\n method: 'POST', // *GET, POST, PUT, DELETE, etc.\r\n mode: 'cors', // no-cors, *cors, same-origin\r\n cache: 'no-cache', // *default, no-cache, reload, force-cache, only-if-cached\r\n credentials: 'same-origin', // include, *same-origin, omit\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n //'RequestVerificationToken': bsdom.get(\"__RequestVerificationToken\").getvalue()\r\n // 'Content-Type': 'application/x-www-form-urlencoded',\r\n },\r\n redirect: 'follow', // manual, *follow, error\r\n referrerPolicy: 'no-referrer', // no-referrer, *no-referrer-when-downgrade, origin, origin-when-cross-origin, same-origin, strict-origin, strict-origin-when-cross-origin, unsafe-url\r\n body: JSON.stringify(data) // body data type must match \"Content-Type\" header\r\n }).then(function (response) {\r\n // If it didn;t work throw an error\r\n if (!response.ok) {\r\n //console.log(response.statusText)\r\n if (response.status == 404) {\r\n window.location.href = \"/404.html\";\r\n }\r\n else {\r\n throw Error(response.statusText);\r\n }\r\n }\r\n // Otherwise return the data as a JSON object\r\n return response.json();\r\n });\r\n\r\n return response;\r\n \r\n }\r\n\r\n/* DOM manipulation */\r\nvar classList = {\r\n add: function (o, c) {\r\n if (typeof o.className === \"object\") {\r\n return false;\r\n }\r\n if (o.classList !== undefined) {\r\n o.classList.add(c);\r\n }\r\n else {\r\n if (!o.className.contains(\" \" + c) && !o.className.contains(c + \" \") && o.className !== c) {\r\n if (o.className !== \"\") {\r\n o.className = o.className + \" \" + c;\r\n }\r\n else {\r\n o.className = c;\r\n }\r\n }\r\n }\r\n },\r\n remove: function (o, c) {\r\n if (typeof (o.className) === \"object\") {\r\n return false;\r\n }\r\n if (o.classList !== undefined) {\r\n o.classList.remove(c);\r\n }\r\n else {\r\n if (o.className.contains(\" \" + c)) {\r\n o.className = o.className.replace(\" \" + c, \"\");\r\n }\r\n else if (o.className.contains(c + \" \")) {\r\n o.className = o.className.replace(c + \" \", \"\");\r\n }\r\n else if (o.className === c) {\r\n o.className = \"\";\r\n }\r\n }\r\n },\r\n toggle: function (o, c) {\r\n if (typeof o.className === \"object\") {\r\n return false;\r\n }\r\n if (o.classList !== undefined) {\r\n o.classList.toggle(c);\r\n }\r\n else {\r\n if (o.className.contains(\" \" + c) || o.className.contains(c + \" \") || o.className === c) {\r\n this.classList.remove(o, c);\r\n }\r\n else {\r\n this.classList.add(o, c);\r\n }\r\n }\r\n },\r\n contains: function (o, c) {\r\n if (typeof o.className === \"object\") {\r\n return false;\r\n }\r\n return this.classContains(o, c);\r\n }\r\n};\r\n\r\nexport const bsdom = {\r\n obj: null,\r\n\r\n get: function (o) {\r\n var obj = Object.create(this);\r\n if (typeof o === \"object\") {\r\n obj.obj = o;\r\n }\r\n else {\r\n obj.obj = document.getElementById(o) ? document.getElementById(o) : document.getElementsByName(o)[0];\r\n }\r\n return obj;\r\n },\r\n create: function (n) {\r\n var obj = Object.create(this);\r\n obj.obj = document.createElement(n);\r\n return obj;\r\n },\r\n append: function (o) {\r\n var obj = typeof o === \"object\" ? bsdom.get(o) : bsdom.create(o);\r\n this.obj.appendChild(obj.obj);\r\n return obj;\r\n },\r\n remove: function (o) {\r\n var obj = null;\r\n if (typeof o === \"object\") {\r\n obj = bsdom.get(o);\r\n this.el.removeChild(obj.obj);\r\n }\r\n return obj;\r\n },\r\n insert: function (o, r, p) {\r\n var obj = typeof o === \"object\" ? bsdom.get(o) : bsdom.create(o);\r\n\r\n if (typeof r === \"object\") {\r\n var robj = bsdom.get(r);\r\n if (p === \"a\") {\r\n robj.obj.nextSibling ? this.obj.insertBefore(obj.obj, robj.obj.nextSibling) : this.append(obj.obj);\r\n }\r\n else {\r\n this.obj.insertBefore(obj.obj, robj.obj);\r\n }\r\n }\r\n else {\r\n this.obj.childNodes.length >= r ? this.obj.insertBefore(obj.obj, this.obj.childNodes[r]) : this.append(obj.obj);\r\n }\r\n\r\n return obj;\r\n },\r\n text: function (t) {\r\n this.obj.appendChild(document.createTextNode(t));\r\n return this;\r\n },\r\n html: function (t) {\r\n this.obj.innerHTML = t;\r\n return this;\r\n },\r\n gettext: function () {\r\n return this.obj.firstChild.nodeValue;\r\n },\r\n getvalue: function () {\r\n return this.obj.value;\r\n },\r\n attr: function (k, v) {\r\n if (v === null) {\r\n this.obj.removeAttribute(k);\r\n }\r\n else {\r\n this.obj.setAttribute(k, v);\r\n }\r\n return this;\r\n },\r\n getattr: function (k) {\r\n if (this.obj.getAttribute(k) !== null) {\r\n return this.obj.getAttribute(k);\r\n }\r\n else {\r\n return \"\";\r\n }\r\n },\r\n cssadd: function (c) {\r\n classList.add(this.obj, c);\r\n return this;\r\n },\r\n cssremove: function (c) {\r\n classList.remove(this.obj, c);\r\n return this;\r\n },\r\n csstoggle: function (c) {\r\n classList.toggle(this.obj, c);\r\n return this;\r\n },\r\n csscontains: function (c) {\r\n return classList.contains(this.obj, c);\r\n },\r\n event: function (e, f, p, p2, p3) {\r\n if (p3) {\r\n this.obj[\"e\" + e] = function (e) { f(p, p2, p3, e); };\r\n }\r\n else if (p2) {\r\n this.obj[\"e\" + e] = function (e) { f(p, p2, e); };\r\n }\r\n else if (p) {\r\n this.obj[\"e\" + e] = function (e) { f(p, e); };\r\n }\r\n else {\r\n this.obj[\"e\" + e] = f;\r\n }\r\n this.obj.addEventListener(e, this.obj[\"e\" + e], false);\r\n return this;\r\n },\r\n removeevent: function (e) {\r\n this.obj.removeEventListener(e, this.obj[\"e\" + e], false);\r\n this.obj[\"e\" + e] = null;\r\n return this;\r\n },\r\n parent: function (t) {\r\n if (t) {\r\n var pn = this.parent();\r\n while (pn.obj.tagName.toLowerCase() !== t.toLowerCase() && pn.obj.tagName.toLowerCase() !== \"body\") {\r\n pn = pn.parent();\r\n }\r\n return pn;\r\n }\r\n else {\r\n return bsdom.get(this.obj.parentNode);\r\n }\r\n },\r\n child: function (t, i) {\r\n return bsdom.get(this.obj.getElementsByTagName(t)[i ? i === -1 ? this.obj.getElementsByTagName(t).length - 1 : i : 0]);\r\n },\r\n children: function (t, s) {\r\n var r = [];\r\n if (s === \"class\") {\r\n for (var i = 0; i < this.obj.getElementsByClassName(t).length; i++) {\r\n r.push(bsdom.get(this.obj.getElementsByClassName(t)[i]));\r\n }\r\n }\r\n else {\r\n for (var j = 0; j < this.obj.childNodes.length; j++) {\r\n if (this.obj.childNodes[j].tagName !== undefined && (t === undefined || this.obj.childNodes[j].tagName.toLowerCase() === t.toLowerCase())) r.push(bsdom.get(this.obj.childNodes[j]));\r\n }\r\n }\r\n return r;\r\n },\r\n selectall: function (t) {\r\n var r = [];\r\n for (var i = 0; i < this.obj.getElementsByTagName(t).length; i++) {\r\n r.push(bsdom.get(this.obj.getElementsByTagName(t)[i]));\r\n }\r\n return r;\r\n },\r\n move: function (o) {\r\n o.obj.appendChild(this.obj);\r\n },\r\n clone: function (d) {\r\n var obj = Object.create(this);\r\n obj.obj = this.obj.cloneNode(d);\r\n return obj;\r\n },\r\n clear: function () {\r\n while (this.obj.childNodes.length > 0) {\r\n this.obj.removeChild(this.obj.childNodes[0]);\r\n }\r\n return this;\r\n },\r\n dispose: function () {\r\n var p = this.obj.parentNode;\r\n p.removeChild(this.obj);\r\n this.obj = null;\r\n return p;\r\n }\r\n}\r\n\r\n/* Debounce */\r\n// Credit David Walsh (https://davidwalsh.name/javascript-debounce-function)\r\n\r\n// Returns a function, that, as long as it continues to be invoked, will not\r\n// be triggered. The function will be called after it stops being called for\r\n// N milliseconds. If `immediate` is passed, trigger the function on the\r\n// leading edge, instead of the trailing.\r\nexport function debounce(func, wait, immediate) {\r\n var timeout;\r\n\r\n // This is the function that is actually executed when\r\n // the DOM event is triggered.\r\n return function executedFunction() {\r\n // Store the context of this and any\r\n // parameters passed to executedFunction\r\n var context = this;\r\n var args = arguments;\r\n\r\n // The function to be called after \r\n // the debounce time has elapsed\r\n var later = function () {\r\n // null timeout to indicate the debounce ended\r\n timeout = null;\r\n\r\n // Call function now if you did not on the leading end\r\n if (!immediate) func.apply(context, args);\r\n };\r\n\r\n // Determine if you should call the function\r\n // on the leading or trail end\r\n var callNow = immediate && !timeout;\r\n\r\n // This will reset the waiting every function execution.\r\n // This is the step that prevents the function from\r\n // being executed because it will never reach the \r\n // inside of the previous setTimeout \r\n clearTimeout(timeout);\r\n\r\n // Restart the debounce waiting period.\r\n // setTimeout returns a truthy value (it differs in web vs node)\r\n timeout = setTimeout(later, wait);\r\n\r\n // Call immediately if you're dong a leading\r\n // end execution\r\n if (callNow) func.apply(context, args);\r\n };\r\n}","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n","import { render } from \"./SiteHeader.vue?vue&type=template&id=bf569626\"\nimport script from \"./SiteHeader.vue?vue&type=script&lang=js\"\nexport * from \"./SiteHeader.vue?vue&type=script&lang=js\"\n\nimport \"./SiteHeader.vue?vue&type=style&index=0&id=bf569626&lang=css\"\n\nimport exportComponent from \"C:\\\\Users\\\\griff\\\\source\\\\repos\\\\Orantec Website\\\\Orantec Website\\\\Vue_UI\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n\r\n","import { render } from \"./NavButton.vue?vue&type=template&id=5e3e698b\"\nimport script from \"./NavButton.vue?vue&type=script&lang=js\"\nexport * from \"./NavButton.vue?vue&type=script&lang=js\"\n\nimport \"./NavButton.vue?vue&type=style&index=0&id=5e3e698b&lang=css\"\n\nimport exportComponent from \"C:\\\\Users\\\\griff\\\\source\\\\repos\\\\Orantec Website\\\\Orantec Website\\\\Vue_UI\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n\r\n","import { render } from \"./SiteFooter.vue?vue&type=template&id=5117d267\"\nimport script from \"./SiteFooter.vue?vue&type=script&lang=js\"\nexport * from \"./SiteFooter.vue?vue&type=script&lang=js\"\n\nimport \"./SiteFooter.vue?vue&type=style&index=0&id=5117d267&lang=css\"\n\nimport exportComponent from \"C:\\\\Users\\\\griff\\\\source\\\\repos\\\\Orantec Website\\\\Orantec Website\\\\Vue_UI\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n","import { render } from \"./NavItem.vue?vue&type=template&id=38b89c3f\"\nimport script from \"./NavItem.vue?vue&type=script&lang=js\"\nexport * from \"./NavItem.vue?vue&type=script&lang=js\"\n\nimport \"./NavItem.vue?vue&type=style&index=0&id=38b89c3f&lang=css\"\n\nimport exportComponent from \"C:\\\\Users\\\\griff\\\\source\\\\repos\\\\Orantec Website\\\\Orantec Website\\\\Vue_UI\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./NavMenu.vue?vue&type=template&id=914a1254\"\nimport script from \"./NavMenu.vue?vue&type=script&lang=js\"\nexport * from \"./NavMenu.vue?vue&type=script&lang=js\"\n\nimport \"./NavMenu.vue?vue&type=style&index=0&id=914a1254&lang=css\"\n\nimport exportComponent from \"C:\\\\Users\\\\griff\\\\source\\\\repos\\\\Orantec Website\\\\Orantec Website\\\\Vue_UI\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./App.vue?vue&type=template&id=eba0f668\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport \"./App.vue?vue&type=style&index=0&id=eba0f668&lang=css\"\n\nimport exportComponent from \"C:\\\\Users\\\\griff\\\\source\\\\repos\\\\Orantec Website\\\\Orantec Website\\\\Vue_UI\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","// Initial content for main destinations to populate content before callback\r\nimport home from './home.json'\r\nimport work from './work.json'\r\nimport about from './about.json'\r\nimport contact from './contact.json'\r\n\r\nexport const baseContent = {\r\n \"/\": home,\r\n \"/work\": work,\r\n \"/about\": about,\r\n \"/contact\": contact\r\n}\r\n","// Page Module - Holds main page data\r\nimport { fetchData } from '../../bs.js'\r\nimport { baseContent } from '../default-data/destinationDefault.js'\r\n// Initial state\r\nconst state = () => ({\r\n page: {},\r\n appLoaded: false\r\n})\r\n\r\n// getters\r\nconst getters = {\r\n pageComponent: (state) => {\r\n if (state.page.contents === undefined) return undefined;\r\n return state.page.contents.PageComponent;\r\n },\r\n pageMeta: (state) => {\r\n const meta = {\r\n title: state.page.meta_Title,\r\n description: state.page.meta_Description,\r\n socialDescription: state.page.social_Description,\r\n socialImage: state.page.social_Image,\r\n socialImage_Alt: state.page.social_Image_Alt,\r\n socialTitle: state.page.social_Title\r\n }\r\n return meta;\r\n },\r\n pageContent: (state) => {\r\n return state.page.contents;\r\n },\r\n pageBanner: (state) => {\r\n if (state.page.files === undefined) return undefined;\r\n return state.page.files.filter(file => file.type === \"i\");\r\n },\r\n mainLinks: (state) => {\r\n if (state.page.links === undefined) return undefined;\r\n return state.page.links.pages;\r\n }\r\n}\r\n\r\n// actions\r\nconst actions = {\r\n async getPage({ commit }, page) {\r\n // Default content for search engines\r\n if (baseContent[page]) commit('setPage', baseContent[page]); // Only need to run this on entry to the site\r\n\r\n // To Do:\r\n // The router will force the page component to load again.\r\n // This will call this function again to get the page data.\r\n // We should store data already loaded so we don't call back every time the same\r\n // page is requested\r\n\r\n const pageData = await fetchData('/pagecontent', page)\r\n .then(function (response) {\r\n return response;\r\n });\r\n\r\n commit('setPage', pageData);\r\n }\r\n}\r\n\r\n// mutations\r\nconst mutations = {\r\n setPage(state, pageData) {\r\n // Set data\r\n state.page = pageData;\r\n state.appLoaded = true;\r\n }\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n actions,\r\n mutations\r\n}","// Page Module - Holds main page data\r\n// Initial state\r\nconst state = () => ({\r\n nav: {\r\n open: false\r\n }\r\n})\r\n\r\n// getters\r\nconst getters = {\r\n navOpen: (state) => {\r\n return state.nav.open;\r\n }\r\n}\r\n\r\n// actions\r\nconst actions = {\r\n async setNavOpen({ commit }, open) {\r\n commit('setNav', open);\r\n }\r\n}\r\n\r\n// mutations\r\nconst mutations = {\r\n setNav(state, navOpen) {\r\n // Set data\r\n state.nav.open = navOpen;\r\n }\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n actions,\r\n mutations\r\n}","// Case Study Module - Holds case study data\r\nimport { fetchData } from '../../bs.js'\r\nimport snippets from '../default-data/snippets.json'\r\n\r\n// Initial state\r\nconst state = () => ({\r\n tagSnippets: snippets\r\n})\r\n\r\n// getters\r\nconst getters = {\r\n taggedSnippets: (state) => {\r\n return state.tagSnippets;\r\n }\r\n}\r\n\r\n// actions\r\nconst actions = {\r\n async getTaggedSnippets({ commit }, params) {\r\n const sData = await fetchData('/taggedsnippet', { tagid: params.tagid, items: params.items })\r\n .then(function (response) {\r\n return response;\r\n });\r\n commit('setSnippets', sData);\r\n }\r\n}\r\n\r\n// mutations\r\nconst mutations = {\r\n setSnippets(state, sData) {\r\n // Set data\r\n state.tagSnippets = sData;\r\n }\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n actions,\r\n mutations\r\n}","// Page Module - Holds main page data\r\nimport { fetchData } from '../../bs.js'\r\n// Initial state\r\nconst state = () => ({\r\n form: {}\r\n})\r\n\r\n// getters\r\nconst getters = {\r\n formDetails: (state) => {\r\n if (state.form === undefined) return undefined;\r\n console.log(state.form)\r\n return state.form;\r\n }\r\n}\r\n\r\n// actions\r\nconst actions = {\r\n async getForm({ commit }, formId) {\r\n\r\n // To Do: \r\n // The router will force the page component to load again.\r\n // This will call this function again to get the page data.\r\n // We should store data already loaded so we don't call back every time the same\r\n // page is requested\r\n\r\n const formDetails = await fetchData('/formdetails', formId)\r\n .then(function (response) {\r\n return response;\r\n });\r\n\r\n commit('setForm', formDetails);\r\n },\r\n async submitForm({ commit }, form) {\r\n\r\n // To Do: \r\n // Should this function be here? We're not using commit so maybe not\r\n console.log(commit)\r\n\r\n const sendResponse = await fetchData('/formsubmit', form)\r\n .then(function (response) {\r\n return response;\r\n });\r\n\r\n return sendResponse;\r\n },\r\n async fieldValid({ commit }, payload) {\r\n console.log(payload)\r\n commit('setFieldValid', payload);\r\n }\r\n}\r\n\r\n// mutations\r\nconst mutations = {\r\n setForm(state, formDetails) {\r\n // Set data\r\n state.form = formDetails;\r\n },\r\n setFieldValid(state,payload) {\r\n const fld = state.form.fields.find((fld) => fld.id === payload.id);\r\n if (fld) fld.valid = payload.valid;\r\n }\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n actions,\r\n mutations\r\n}","import { createStore } from 'vuex'\r\nimport page from './modules/page.js'\r\nimport nav from './modules/nav.js'\r\nimport snippet from './modules/snippet.js'\r\nimport form from './modules/form.js'\r\n\r\n// Vuex data store\r\n// Expose a new store instance.\r\nexport default createStore({\r\n modules: {\r\n page,\r\n nav,\r\n snippet,\r\n form\r\n }\r\n});\r\n","import { createApp } from 'vue'\nimport { createRouter, createWebHistory } from 'vue-router';\nimport App from './App.vue';\nimport store from './data/store.js';\nimport VueGtag from 'vue-gtag';\n\n// Vue router\nconst routes = [\n //{ path: '/', name: 'HomePage', component: () => import('./components/page/HomePage.vue') },\n { path: '/404.html', name: '404', component: () => import('./components/page/404Page.vue') }, // 404 requires a 404 page in WebCharge and a 404.html page on the server that returns a 404 status from iis\n { path: '/:path(.*)*', name: 'SitePage', component: () => import('./components/page/SitePage.vue') } // Site page is the parent component that will load the child component for the page\n];\n\n// TO DO: set-up 404 responses for missing routes.\nconst router = createRouter({\n history: createWebHistory(),\n routes, // short for `routes: routes`\n});\n\ncreateApp(App).use(router).use(store).use(VueGtag, {\n config: {\n id: \"G-K03R1PLC72\",\n },\n}).mount('#app');\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \".\" + {\"19\":\"11b25dd4\",\"30\":\"6fda9763\",\"172\":\"7483ea14\",\"238\":\"05d6046c\",\"349\":\"e52b65cc\",\"476\":\"fda01cc7\",\"545\":\"0d80e2b2\",\"585\":\"2f626ea7\",\"618\":\"8078461a\",\"838\":\"d7b99392\",\"874\":\"26f9d09e\",\"888\":\"381ed485\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"css/\" + chunkId + \".\" + {\"19\":\"2611471d\",\"30\":\"964dea37\",\"172\":\"b1acae4a\",\"476\":\"41e9f0af\",\"585\":\"1c821c8b\",\"838\":\"5ccd8d7c\",\"874\":\"0b103336\",\"888\":\"d52351db\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"vue_ui:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","var createStylesheet = function(chunkId, fullhref, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tlinkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tdocument.head.appendChild(linkTag);\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"19\":1,\"30\":1,\"172\":1,\"476\":1,\"585\":1,\"838\":1,\"874\":1,\"888\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkvue_ui\"] = self[\"webpackChunkvue_ui\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(4086); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["baseUrl","fetchData","async","url","data","response","fetch","method","mode","cache","credentials","headers","redirect","referrerPolicy","body","JSON","stringify","then","ok","status","Error","statusText","window","location","href","json","debounce","func","wait","immediate","timeout","context","this","args","arguments","later","apply","callNow","clearTimeout","setTimeout","role","_createVNode","_component_site_header","_component_nav_button","_createElementVNode","class","navopen","_ctx","_component_router_view","_component_site_footer","_component_nav_menu","type","srcset","src","alt","_createElementBlock","_component_router_link","to","_hoisted_2","_renderSlot","name","__exports__","_hoisted_1","open","onClick","computed","mapGetters","navOpen","methods","$store","dispatch","_hoisted_3","_hoisted_4","_toDisplayString","year","Date","getFullYear","length","_Fragment","_renderList","page","_createBlock","_component_nav_item","model","key","number","pageLink","pages","props","Object","components","NavItem","mainLinks","mounted","addEventListener","event","target","tagName","parentNode","matches","altKey","ctrlKey","metaKey","shiftKey","button","defaultPrevented","undefined","getAttribute","linkTarget","test","URL","pathname","preventDefault","$router","push","SiteHeader","NavButton","SiteFooter","NavMenu","render","baseContent","home","work","about","contact","state","appLoaded","getters","pageComponent","contents","PageComponent","pageMeta","meta","title","meta_Title","description","meta_Description","socialDescription","social_Description","socialImage","social_Image","socialImage_Alt","social_Image_Alt","socialTitle","social_Title","pageContent","pageBanner","files","filter","file","links","actions","commit","pageData","mutations","setPage","namespaced","nav","setNav","tagSnippets","snippets","taggedSnippets","params","sData","tagid","items","setSnippets","form","formDetails","console","log","formId","sendResponse","payload","setForm","setFieldValid","fld","fields","find","id","valid","createStore","modules","snippet","routes","path","component","router","createRouter","history","createWebHistory","createApp","App","use","store","VueGtag","config","mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","m","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","keys","every","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","f","e","chunkId","Promise","all","reduce","promises","u","miniCssF","g","globalThis","Function","obj","prop","prototype","hasOwnProperty","call","inProgress","dataWebpackPrefix","l","done","script","needAttach","scripts","document","getElementsByTagName","s","createElement","charset","nc","setAttribute","onScriptComplete","prev","onerror","onload","doneFns","removeChild","forEach","bind","head","appendChild","Symbol","toStringTag","value","p","createStylesheet","fullhref","resolve","reject","linkTag","rel","onLinkComplete","errorType","realHref","err","code","request","findStylesheet","existingLinkTags","tag","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","promise","error","loadingEnded","realSrc","message","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""}