{"version":3,"sources":["webpack:///./src/assets/static/about_banner.png","webpack:///./src/components/layout/BottomnavbarDynamic.vue?292b","webpack:///./src/views/home/AboutPage.vue?f358","webpack:///src/views/home/AboutPage.vue","webpack:///./src/views/home/AboutPage.vue?cabd","webpack:///./src/views/home/AboutPage.vue","webpack:///./src/components/layout/BottomnavbarDynamic.vue?640d","webpack:///src/components/layout/BottomnavbarDynamic.vue","webpack:///./src/components/layout/BottomnavbarDynamic.vue?38cb","webpack:///./src/components/layout/BottomnavbarDynamic.vue","webpack:///./src/assets/static/logo.png","webpack:///../../../src/mixins/applicationable/index.ts","webpack:///../../../src/mixins/button-group/index.ts","webpack:///../../../src/directives/scroll/index.ts","webpack:///../../../src/mixins/scrollable/index.ts","webpack:///../../../src/components/VBottomNavigation/VBottomNavigation.ts","webpack:///./src/assets/static/bug.png"],"names":["module","exports","render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","logo","background","domProps","_s","content","items","indexValue","staticRenderFns","title","component","VContainer","value","_l","item","index","key","on","$event","handleRoute","_v","name","icon","VBottomNavigation","VBtn","VIcon","events","mixins","props","app","Boolean","computed","applicationProperty","watch","prev","removeApplication","activated","created","i","length","mounted","deactivated","destroyed","methods","callUpdate","force","updateApplication","provide","btnToggle","classes","genData","inserted","binding","self","options","passive","handler","target","document","el","undefined","unbind","Scroll","directives","scrollTarget","scrollThreshold","String","Number","data","currentScroll","currentThreshold","isActive","isScrollingUp","previousScroll","savedScroll","canScroll","window","computedScrollThreshold","console","onScroll","Math","thresholdMet","activeClass","type","default","backgroundColor","grow","height","hideOnScroll","horizontal","inputValue","mandatory","shift","tag","styles","transform","$attrs","hasOwnProperty","$el","updateValue","setBackgroundColor","class","style","internalValue","change","arg","h","setTextColor","$slots"],"mappings":"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","file":"js/AboutPage.eeb6f142.js","sourcesContent":["module.exports = __webpack_public_path__ + \"img/about_banner.26d442f8.png\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BottomnavbarDynamic.vue?vue&type=style&index=0&id=d2cda730&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticClass:\"ma-0 pa-0 abc bg-primary\"},[_c('div',{staticClass:\"pt-10\"},[_c('div',{staticClass:\"pl-4\"},[_c('img',{attrs:{\"src\":_vm.logo,\"width\":\"120\"}})]),_c('div',[_c('div',{staticClass:\"text-center\"},[_c('img',{staticClass:\"background-image\",attrs:{\"src\":_vm.background}})])])]),_c('v-container',{staticClass:\"bg-bug border-radius-top h-100\"},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.content)}})]),_c('Bottomnavbar',{attrs:{\"items\":_vm.items,\"value\":_vm.indexValue}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n
\r\n
![]()
\r\n
\r\n
\r\n
\r\n
![]()
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AboutPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AboutPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AboutPage.vue?vue&type=template&id=0e6ecf4e&\"\nimport script from \"./AboutPage.vue?vue&type=script&lang=js&\"\nexport * from \"./AboutPage.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VContainer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VContainer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-bottom-navigation',{attrs:{\"value\":_vm.value,\"color\":\"secondary\",\"fixed\":\"\",\"grow\":\"\"}},_vm._l((_vm.items),function(item,index){return _c('v-btn',{key:index,on:{\"click\":function($event){return _vm.handleRoute(item)}}},[_c('span',{staticClass:\"text-capitalize\"},[_vm._v(_vm._s(item.name))]),_c('v-icon',{staticClass:\"mg-auto\",attrs:{\"color\":\"secondary\"}},[_vm._v(_vm._s(item.icon))])],1)}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n {{ item.name }}\r\n {{ item.icon }}\r\n \r\n \r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BottomnavbarDynamic.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BottomnavbarDynamic.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BottomnavbarDynamic.vue?vue&type=template&id=d2cda730&scoped=true&\"\nimport script from \"./BottomnavbarDynamic.vue?vue&type=script&lang=js&\"\nexport * from \"./BottomnavbarDynamic.vue?vue&type=script&lang=js&\"\nimport style0 from \"./BottomnavbarDynamic.vue?vue&type=style&index=0&id=d2cda730&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d2cda730\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBottomNavigation } from 'vuetify/lib/components/VBottomNavigation';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBottomNavigation,VBtn,VIcon})\n","module.exports = __webpack_public_path__ + \"img/logo.e88e1015.png\";","import { factory as PositionableFactory } from '../positionable'\nimport { TargetProp } from 'vuetify/types/services/application'\n\n// Util\nimport mixins from '../../util/mixins'\n\nexport default function applicationable (value: TargetProp, events: string[] = []) {\n /* @vue/component */\n return mixins(PositionableFactory(['absolute', 'fixed'])).extend({\n name: 'applicationable',\n\n props: {\n app: Boolean,\n },\n\n computed: {\n applicationProperty (): TargetProp {\n return value\n },\n },\n\n watch: {\n // If previous value was app\n // reset the provided prop\n app (x: boolean, prev: boolean) {\n prev\n ? this.removeApplication(true)\n : this.callUpdate()\n },\n applicationProperty (newVal, oldVal) {\n this.$vuetify.application.unregister(this._uid, oldVal)\n },\n },\n\n activated () {\n this.callUpdate()\n },\n\n created () {\n for (let i = 0, length = events.length; i < length; i++) {\n this.$watch(events[i], this.callUpdate)\n }\n this.callUpdate()\n },\n\n mounted () {\n this.callUpdate()\n },\n\n deactivated () {\n this.removeApplication()\n },\n\n destroyed () {\n this.removeApplication()\n },\n\n methods: {\n callUpdate () {\n if (!this.app) return\n\n this.$vuetify.application.register(\n this._uid,\n this.applicationProperty,\n this.updateApplication()\n )\n },\n removeApplication (force = false) {\n if (!force && !this.app) return\n\n this.$vuetify.application.unregister(\n this._uid,\n this.applicationProperty\n )\n },\n updateApplication: () => 0,\n },\n })\n}\n","// Extensions\nimport { BaseItemGroup } from '../../components/VItemGroup/VItemGroup'\n\n/* @vue/component */\nexport default BaseItemGroup.extend({\n name: 'button-group',\n\n provide (): object {\n return {\n btnToggle: this,\n }\n },\n\n computed: {\n classes (): object {\n return BaseItemGroup.options.computed.classes.call(this)\n },\n },\n\n methods: {\n // Isn't being passed down through types\n genData: BaseItemGroup.options.methods.genData,\n },\n})\n","import { VNodeDirective } from 'vue/types/vnode'\nimport { DirectiveOptions } from 'vue'\n\ninterface ScrollVNodeDirective extends Omit {\n value: EventListener | {\n handler: EventListener\n options?: boolean | AddEventListenerOptions\n } | EventListenerObject & { options?: boolean | AddEventListenerOptions }\n modifiers?: {\n self?: boolean\n }\n}\n\nfunction inserted (el: HTMLElement, binding: ScrollVNodeDirective) {\n const { self = false } = binding.modifiers || {}\n const value = binding.value\n const options = (typeof value === 'object' && value.options) || { passive: true }\n const handler = typeof value === 'function' || 'handleEvent' in value ? value : value.handler\n\n const target = self\n ? el\n : binding.arg\n ? document.querySelector(binding.arg)\n : window\n\n if (!target) return\n\n target.addEventListener('scroll', handler, options)\n\n el._onScroll = {\n handler,\n options,\n // Don't reference self\n target: self ? undefined : target,\n }\n}\n\nfunction unbind (el: HTMLElement) {\n if (!el._onScroll) return\n\n const { handler, options, target = el } = el._onScroll\n\n target.removeEventListener('scroll', handler, options)\n delete el._onScroll\n}\n\nexport const Scroll = {\n inserted,\n unbind,\n} as DirectiveOptions\n\nexport default Scroll\n","// Directives\nimport { Scroll } from '../../directives'\n\n// Utilities\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport Vue from 'vue'\n\n/**\n * Scrollable\n *\n * Used for monitoring scrolling and\n * invoking functions based upon\n * scrolling thresholds being\n * met.\n */\n/* @vue/component */\nexport default Vue.extend({\n name: 'scrollable',\n\n directives: { Scroll },\n\n props: {\n scrollTarget: String,\n scrollThreshold: [String, Number],\n },\n\n data: () => ({\n currentScroll: 0,\n currentThreshold: 0,\n isActive: false,\n isScrollingUp: false,\n previousScroll: 0,\n savedScroll: 0,\n target: null as Element | null,\n }),\n\n computed: {\n /**\n * A computed property that returns\n * whether scrolling features are\n * enabled or disabled\n */\n canScroll (): boolean {\n return typeof window !== 'undefined'\n },\n /**\n * The threshold that must be met before\n * thresholdMet function is invoked\n */\n computedScrollThreshold (): number {\n return this.scrollThreshold\n ? Number(this.scrollThreshold)\n : 300\n },\n },\n\n watch: {\n isScrollingUp () {\n this.savedScroll = this.savedScroll || this.currentScroll\n },\n isActive () {\n this.savedScroll = 0\n },\n },\n\n mounted () {\n if (this.scrollTarget) {\n this.target = document.querySelector(this.scrollTarget)\n\n if (!this.target) {\n consoleWarn(`Unable to locate element with identifier ${this.scrollTarget}`, this)\n }\n }\n },\n\n methods: {\n onScroll () {\n if (!this.canScroll) return\n\n this.previousScroll = this.currentScroll\n this.currentScroll = this.target\n ? this.target.scrollTop\n : window.pageYOffset\n\n this.isScrollingUp = this.currentScroll < this.previousScroll\n this.currentThreshold = Math.abs(this.currentScroll - this.computedScrollThreshold)\n\n this.$nextTick(() => {\n if (\n Math.abs(this.currentScroll - this.savedScroll) >\n this.computedScrollThreshold\n ) this.thresholdMet()\n })\n },\n /**\n * The method invoked when\n * scrolling in any direction\n * has exceeded the threshold\n */\n thresholdMet () { /* noop */ },\n },\n})\n","// Styles\nimport './VBottomNavigation.sass'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport ButtonGroup from '../../mixins/button-group'\nimport Colorable from '../../mixins/colorable'\nimport Measurable from '../../mixins/measurable'\nimport Proxyable from '../../mixins/proxyable'\nimport Scrollable from '../../mixins/scrollable'\nimport Themeable from '../../mixins/themeable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(\n Applicationable('bottom', [\n 'height',\n 'inputValue',\n ]),\n Colorable,\n Measurable,\n ToggleableFactory('inputValue'),\n Proxyable,\n Scrollable,\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-bottom-navigation',\n\n props: {\n activeClass: {\n type: String,\n default: 'v-btn--active',\n },\n backgroundColor: String,\n grow: Boolean,\n height: {\n type: [Number, String],\n default: 56,\n },\n hideOnScroll: Boolean,\n horizontal: Boolean,\n inputValue: {\n type: Boolean,\n default: true,\n },\n mandatory: Boolean,\n shift: Boolean,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n data () {\n return {\n isActive: this.inputValue,\n }\n },\n\n computed: {\n canScroll (): boolean {\n return (\n Scrollable.options.computed.canScroll.call(this) &&\n (\n this.hideOnScroll ||\n !this.inputValue\n )\n )\n },\n classes (): object {\n return {\n 'v-bottom-navigation--absolute': this.absolute,\n 'v-bottom-navigation--grow': this.grow,\n 'v-bottom-navigation--fixed': !this.absolute && (this.app || this.fixed),\n 'v-bottom-navigation--horizontal': this.horizontal,\n 'v-bottom-navigation--shift': this.shift,\n }\n },\n styles (): object {\n return {\n ...this.measurableStyles,\n transform: this.isActive ? 'none' : 'translateY(100%)',\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('active')) {\n breaking('active.sync', 'value or v-model', this)\n }\n },\n\n methods: {\n thresholdMet () {\n this.isActive = !this.isScrollingUp\n this.$emit('update:input-value', this.isActive)\n },\n updateApplication (): number {\n return this.$el\n ? this.$el.clientHeight\n : 0\n },\n updateValue (val: any) {\n this.$emit('change', val)\n },\n },\n\n render (h): VNode {\n const data = this.setBackgroundColor(this.backgroundColor, {\n staticClass: 'v-bottom-navigation',\n class: this.classes,\n style: this.styles,\n props: {\n activeClass: this.activeClass,\n mandatory: Boolean(\n this.mandatory ||\n this.value !== undefined\n ),\n tag: this.tag,\n value: this.internalValue,\n },\n on: { change: this.updateValue },\n })\n\n if (this.canScroll) {\n data.directives = data.directives || []\n\n data.directives.push({\n arg: this.scrollTarget,\n name: 'scroll',\n value: this.onScroll,\n })\n }\n\n return h(ButtonGroup, this.setTextColor(this.color, data), this.$slots.default)\n },\n})\n","module.exports = __webpack_public_path__ + \"img/bug.77248a5a.png\";"],"sourceRoot":""}