{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/views/Home.vue?03a2","webpack:///./src/App.vue?03e4","webpack:///./src/components/NavigationBar.vue?6f83","webpack:///./src/components/NavigationButton.vue?e82e","webpack:///./src/components/NavigationButton.vue","webpack:///./src/components/NavigationButton.vue?2b85","webpack:///./src/components/NavigationBar.vue","webpack:///./src/components/NavigationBar.vue?5b6d","webpack:///./src/App.vue","webpack:///./src/App.vue?8ecf","webpack:///./src/views/Home.vue?3b29","webpack:///./src/composables/age.ts","webpack:///./src/views/Home.vue","webpack:///./src/views/Home.vue?f63c","webpack:///./src/router/index.ts","webpack:///./src/plugins/font-awesome.ts","webpack:///./src/main.ts","webpack:///./src/components/NavigationBar.vue?e2b7"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","_hoisted_1","class","render","_ctx","_cache","$props","$setup","$data","$options","_component_navigation_bar","_component_router_view","ref","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","style","_hoisted_8","_hoisted_9","_component_fa","_component_navigation_button","to","default","icon","_","menuState","onClick","$event","size","_component_router_link","startsWith","href","$slots","props","type","String","__exports__","components","NavigationButton","navRef","el","document","addEventListener","event","contains","target","NavigationBar","currentYear","Date","getFullYear","BIRTH_DATE","getCurrentAge","currentAge","routes","path","component","Home","router","history","hash","behavior","top","add","App","use","mount"],"mappings":"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","file":"js/app.295f465e.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./Home.vue?vue&type=style&index=0&id=235880e5&lang=css\"","import { resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"container-full min-h-screen flex flex-col bg-gray-900 text-white\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_navigation_bar = _resolveComponent(\"navigation-bar\")!\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_navigation_bar),\n _createVNode(_component_router_view)\n ]))\n}","import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, createTextVNode as _createTextVNode, withCtx as _withCtx, withModifiers as _withModifiers, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode } from \"vue\"\n\nconst _hoisted_1 = {\n class: \"container-full flex items-center justify-between flex-no-wrap px-6 py-2 sm:py-4\",\n ref: \"navRef\"\n}\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"flex items-center flex-shrink-1 text-white mr-6 truncate\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"ml-2 font-semibold text-xl tracking-tight truncate ...\" }, \"Philipp Schulz\")\n], -1)\nconst _hoisted_3 = { class: \"sm:flex gap-x-2 hidden self-end\" }\nconst _hoisted_4 = /*#__PURE__*/_createTextVNode(\" LinkedIn \")\nconst _hoisted_5 = /*#__PURE__*/_createTextVNode(\" GitHub \")\nconst _hoisted_6 = { class: \"sm:hidden\" }\nconst _hoisted_7 = {\n key: 0,\n class: \"absolute overflow-auto left-0 sm:hidden bg-gray-800 flex flex-col items-center w-full\",\n style: {\"top\":\"3.5rem\"}\n}\nconst _hoisted_8 = /*#__PURE__*/_createTextVNode(\" LinkedIn \")\nconst _hoisted_9 = /*#__PURE__*/_createTextVNode(\" GitHub \")\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_fa = _resolveComponent(\"fa\")!\n const _component_navigation_button = _resolveComponent(\"navigation-button\")!\n\n return (_openBlock(), _createElementBlock(\"nav\", _hoisted_1, [\n _hoisted_2,\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_component_navigation_button, { to: \"https://www.linkedin.com/in/philipp-schulz-5938a81b7/\" }, {\n default: _withCtx(() => [\n _hoisted_4,\n _createVNode(_component_fa, { icon: ['fab', 'linkedin'] })\n ]),\n _: 1\n }),\n _createVNode(_component_navigation_button, { to: \"https://github.com/5chulzi\" }, {\n default: _withCtx(() => [\n _hoisted_5,\n _createVNode(_component_fa, { icon: ['fab', 'github'] })\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n (_ctx.menuState)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n onClick: _cache[0] || (_cache[0] = _withModifiers(($event: any) => (_ctx.menuState = false), [\"stop\"])),\n class: \"focus:outline-none p-2\"\n }, [\n _createVNode(_component_fa, {\n icon: \"times\",\n size: \"lg\"\n })\n ]))\n : (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n onClick: _cache[1] || (_cache[1] = _withModifiers(($event: any) => (_ctx.menuState = true), [\"stop\"])),\n class: \"focus:outline-none p-2\"\n }, [\n _createVNode(_component_fa, {\n icon: \"bars\",\n size: \"lg\"\n })\n ]))\n ]),\n (_ctx.menuState)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n _createVNode(_component_navigation_button, {\n class: \"py-2\",\n to: \"https://www.linkedin.com/in/philipp-schulz-5938a81b7/\"\n }, {\n default: _withCtx(() => [\n _hoisted_8,\n _createVNode(_component_fa, { icon: ['fab', 'linkedin'] })\n ]),\n _: 1\n }),\n _createVNode(_component_navigation_button, {\n class: \"py-2\",\n to: \"https://github.com/5chulzi\"\n }, {\n default: _withCtx(() => [\n _hoisted_9,\n _createVNode(_component_fa, { icon: ['fab', 'github'] })\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true)\n ], 512))\n}","import { renderSlot as _renderSlot, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = [\"href\"]\nconst _hoisted_2 = { class: \"font-bold px-2 py-1 border-transparent border-b-4 focus:outline-none focus:text-gray-400 hover:border-white\" }\nconst _hoisted_3 = { class: \"font-bold px-2 py-1 border-transparent border-b-4 focus:outline-none focus:text-gray-400 hover:border-white\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_ctx.to.startsWith('http'))\n ? (_openBlock(), _createElementBlock(\"a\", {\n key: 0,\n href: _ctx.to\n }, [\n _createElementVNode(\"button\", _hoisted_2, [\n _renderSlot(_ctx.$slots, \"default\")\n ])\n ], 8, _hoisted_1))\n : (_openBlock(), _createBlock(_component_router_link, {\n key: 1,\n to: _ctx.to\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"button\", _hoisted_3, [\n _renderSlot(_ctx.$slots, \"default\")\n ])\n ]),\n _: 3\n }, 8, [\"to\"]))\n}","\nimport { defineComponent } from 'vue'\n\nexport default defineComponent({\n name: 'NavigationButton',\n props: {\n to: {\n type: [String, Object],\n default: \"#\"\n }\n },\n})\n\n","import { render } from \"./NavigationButton.vue?vue&type=template&id=71e60df9&ts=true\"\nimport script from \"./NavigationButton.vue?vue&type=script&lang=ts\"\nexport * from \"./NavigationButton.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/home/schulz/philipp-schulz.dev/repo/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\nimport { defineComponent, Ref, ref, onMounted } from \"vue\";\nimport NavigationButton from \"@/components/NavigationButton.vue\";\n\nexport default defineComponent({\n name: \"NavigationBar\",\n components: {\n NavigationButton,\n },\n setup() {\n // false = \"closed\", true = \"opened\"\n const menuState: Ref = ref(false);\n const navRef = ref(null)\n\n onMounted(() => {\n const el = navRef.value as unknown as Node\n // if clicked outside nav, close it\n document.addEventListener('click', event => {\n if(!el.contains(event.target as Node)) {\n menuState.value = false\n }\n })\n })\n\n return {\n menuState,\n navRef,\n };\n },\n});\n","import { render } from \"./NavigationBar.vue?vue&type=template&id=05f5c8f7&ts=true\"\nimport script from \"./NavigationBar.vue?vue&type=script&lang=ts\"\nexport * from \"./NavigationBar.vue?vue&type=script&lang=ts\"\n\nimport \"./NavigationBar.vue?vue&type=style&index=0&id=05f5c8f7&lang=css\"\n\nimport exportComponent from \"/home/schulz/philipp-schulz.dev/repo/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\nimport NavigationBar from '@/components/NavigationBar.vue'\n\nexport default {\n components: {\n NavigationBar,\n },\n data: () => ({\n currentYear: new Date().getFullYear(),\n })\n}\n","import { render } from \"./App.vue?vue&type=template&id=367535e4&ts=true\"\nimport script from \"./App.vue?vue&type=script&lang=ts\"\nexport * from \"./App.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/home/schulz/philipp-schulz.dev/repo/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, createStaticVNode as _createStaticVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"flex-grow\" }\nconst _hoisted_2 = /*#__PURE__*/_createStaticVNode(\"
passionated
web
developer
\", 1)\nconst _hoisted_3 = [\n _hoisted_2\n]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, _hoisted_3))\n}","const BIRTH_DATE = new Date(1996, 11, 26)\n\n/**\n * @returns the current age of myself\n */\nexport function getCurrentAge(): number {\n return new Date((+new Date() - +BIRTH_DATE)).getFullYear() - 1970;\n}","\nimport { defineComponent } from \"vue\";\nimport { getCurrentAge } from '@/composables/age';\n\nexport default defineComponent({\n name: \"Home\",\n setup() {\n return {\n currentAge: getCurrentAge(),\n }\n }\n});\n","import { render } from \"./Home.vue?vue&type=template&id=235880e5&ts=true\"\nimport script from \"./Home.vue?vue&type=script&lang=ts\"\nexport * from \"./Home.vue?vue&type=script&lang=ts\"\n\nimport \"./Home.vue?vue&type=style&index=0&id=235880e5&lang=css\"\n\nimport exportComponent from \"/home/schulz/philipp-schulz.dev/repo/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router'\nimport Home from '../views/Home.vue'\n\nconst routes: Array = [\n {\n path: '/',\n name: 'Home',\n component: Home\n },\n // {\n // path: '/about',\n // name: 'About',\n // // route level code-splitting\n // // this generates a separate chunk (about.[hash].js) for this route\n // // which is lazy-loaded when the route is visited.\n // component: () => import(/* webpackChunkName: \"about\" */ '../views/About.vue')\n // }\n]\n\nconst router = createRouter({\n history: createWebHistory(process.env.BASE_URL),\n routes,\n scrollBehavior (to) {\n if (to.hash) {\n return {\n el: to.hash,\n behavior: 'smooth',\n }\n } else {\n return { top: 0 }\n }\n },\n})\n\nexport default router\n","import { library } from \"@fortawesome/fontawesome-svg-core\";\nimport { faGithub, faLinkedin } from \"@fortawesome/free-brands-svg-icons\";\nimport {\n faBars,\n faEnvelope,\n faExternalLinkAlt,\n faMailBulk,\n faTerminal,\n faTimes,\n} from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/vue-fontawesome\";\n\nlibrary.add(\n faBars,\n faEnvelope,\n faExternalLinkAlt,\n faLinkedin,\n faGithub,\n faMailBulk,\n faTerminal,\n faTimes\n);\n\nexport { FontAwesomeIcon };\n","import { createApp } from 'vue'\nimport App from './App.vue'\nimport router from './router'\n\nimport './tailwind.css'\n\nimport { FontAwesomeIcon } from '@/plugins/font-awesome'\n\n\ncreateApp(App).use(router).component('fa', FontAwesomeIcon).mount('#app')\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./NavigationBar.vue?vue&type=style&index=0&id=05f5c8f7&lang=css\""],"sourceRoot":""}