{"version":3,"sources":["webpack:///./node_modules/@chenfengyuan/vue-countdown/dist/vue-countdown.js","webpack:///./components/shared/UICountDown.vue?6a29","webpack:///./components/shared/UICountDown.vue","webpack:///./components/shared/UICountDown.vue?c2f1","webpack:///./components/shared/UICountDown.vue?365f","webpack:///../../../src/mixins/ssr-bootable/index.ts","webpack:///./components/shared/UITable.vue?38bf","webpack:///./components/shared/UITable.vue?2553","webpack:///./components/shared/UITable.vue","webpack:///./assets/img/banner_700x500.png","webpack:///./components/layout/SectionBanner.vue?de23","webpack:///./components/ContentSnapshot.vue?beff","webpack:///./node_modules/core-js/modules/es.math.sign.js","webpack:///./components/Leaderboard.vue?b396","webpack:///./pages/index.vue","webpack:///./components/layout/SectionBanner.vue?56bf","webpack:///./components/layout/SectionBanner.vue?f06e","webpack:///./components/layout/SectionBanner.vue","webpack:///./components/ContentSnapshot.vue?7c63","webpack:///./components/ContentSnapshot.vue?01ae","webpack:///./components/ContentSnapshot.vue","webpack:///../../../src/components/VTabs/VTab.ts","webpack:///../../../src/directives/touch/index.ts","webpack:///../../../src/components/VWindow/VWindowItem.ts","webpack:///../../../src/components/VTabs/VTabItem.ts","webpack:///../../../src/components/VSlideGroup/VSlideGroup.ts","webpack:///../../../src/components/VTabs/VTabsBar.ts","webpack:///../../../src/components/VWindow/VWindow.ts","webpack:///../../../src/components/VTabs/VTabsItems.ts","webpack:///../../../src/components/VTabs/VTabsSlider.ts","webpack:///../../../src/components/VTabs/VTabs.ts","webpack:///./components/Leaderboard.vue?d486","webpack:///./components/Leaderboard.vue?112e","webpack:///./components/Leaderboard.vue","webpack:///./pages/index.vue?17ca","webpack:///./pages/index.vue?eca7","webpack:///./pages/index.vue?f6c7"],"names":["module","exports","MILLISECONDS_SECOND","MILLISECONDS_MINUTE","MILLISECONDS_HOUR","MILLISECONDS_DAY","EVENT_VISIBILITY_CHANGE","name","data","counting","endTime","totalMilliseconds","props","autoStart","type","Boolean","default","emitEvents","interval","Number","validator","value","now","Function","Date","tag","String","time","transform","computed","days","Math","floor","this","hours","minutes","seconds","milliseconds","totalDays","totalHours","totalMinutes","totalSeconds","render","createElement","$scopedSlots","$slots","watch","$props","deep","immediate","handler","start","methods","$emit","document","visibilityState","continue","_this","delay","min","window","requestAnimationFrame","init","prev","step","range","progress","requestId","timeoutId","setTimeout","end","pause","cancelAnimationFrame","clearTimeout","abort","update","max","handleVisibilityChange","mounted","addEventListener","beforeDestroy","removeEventListener","factory","Vue","component","VueCountdown","emits","setup","useContext","app","countdowm","i18n","$helper","ref","timeCountDown","temp","toRefs","_vm","_c","_self","staticClass","attrs","on","$event","scopedSlots","_u","key","fn","_v","_s","padLeft","extend","isBooted","$el","setAttribute","dataTable","Array","search","loading","customSearch","item","toString","toLowerCase","indexOf","headers","text","align","sortable","filterable","helper","$","target","stat","sign","imgPet","require","$vuetify","store","useStore","state","reactive","isLoading","isCountdown","title","isConnected","getters","isReady","scrollToDiv","goTo","onMounted","handleBtn","dispatch","onCountdownEnd","Promise","all","installComponents","UICountDown","baseMixins","mixins","Routable","GroupableFactory","Themeable","ripple","Object","proxyClass","classes","options","call","disabled","groupClasses","to","href","$router","resolve","$route","append","replace","click","e","preventDefault","detail","blur","toggle","isActive","tabsBar","mandatory","h","generateRouteLink","role","tabindex","keydown","keyCode","keyCodes","enter","touchend","event","wrapper","touch","changedTouches","touchendX","clientX","touchendY","clientY","assign","touchstartX","touchstartY","offsetX","offsetY","abs","left","right","up","down","handleGesture","createHandlers","touchmoveX","touchmoveY","move","touchstart","touchmove","Touch","inserted","el","binding","vnode","parent","parentElement","passive","handlers","_touchHandlers","context","_uid","keys","forEach","eventName","unbind","Bootable","directives","reverseTransition","undefined","transition","required","inTransition","computedTransition","windowGroup","internalReverse","genDefaultSlot","genWindowItem","$createElement","class","$listeners","onAfterTransition","transitionCount","transitionHeight","onBeforeTransition","convertToUnit","clientHeight","onTransitionCancelled","onEnter","$nextTick","beforeEnter","afterEnter","enterCancelled","beforeLeave","afterLeave","leaveCancelled","showLazyContent","VWindowItem","id","domProps","bias","val","x","calculateUpdatedOffset","selectedElement","widths","rtl","currentScrollOffset","clientWidth","offsetLeft","content","totalWidth","itemOffset","additionalOffset","BaseSlideGroup","BaseItemGroup","Mobile","Resize","activeClass","centerActive","nextIcon","prevIcon","showArrows","v","includes","isOverflowing","resizeTimeout","startX","isSwipingHorizontal","isSwiping","scrollOffset","canTouch","__cachedNext","genTransition","__cachedPrev","hasAffixes","isMobile","hasNext","hasPrev","internalValue","scroll","$refs","style","ResizeObserver","obs","onResize","observe","$on","disconnect","itemsLength","_a","children","length","setWidths","onScroll","scrollLeft","onFocusin","composedPath","items","vm","genNext","slot","next","onAffixClick","genContent","focusin","genData","genIcon","location","icon","upperLocation","toUpperCase","slice","hasAffix","VIcon","genPrev","VFadeTransition","genWrapper","overflowCheck","onTouchStart","onTouchMove","onTouchEnd","calculateNewOffset","direction","newAbosluteOffset","scrollTo","_isDestroyed","setProperty","diffX","diffY","documentElement","overflowY","maxScrollOffset","removeProperty","stopPropagation","scrollIntoView","selectedItem","lastItemPosition","getBoundingClientRect","wrapperPosition","selectedIndex","offsetCentered","calculateCenteredOffset","provide","slideGroup","SSRBootable","themeClasses","callSlider","onRouteChange","oldVal","newPath","path","oldPath","hasNew","hasOld","continuous","reverse","showArrowsOnHover","touchless","vertical","changedByDelimiters","internalHeight","isReverse","axis","hasActiveItems","find","internalIndex","findIndex","i","getValue","updateReverse","genContainer","push","genControlIcons","height","lang","t","_b","VBtn","large","icons","getNextIndex","index","nextIndex","getPrevIndex","prevIndex","lastIndex","VWindow","isDark","rootIsDark","Colorable","setBackgroundColor","color","Proxyable","alignWithTitle","backgroundColor","centered","fixedTabs","grow","hideSlider","iconsAndText","mobileBreakpoint","optional","sliderColor","sliderSize","slider","top","width","transitionTime","isReversed","sliderStyles","computedColor","appIsDark","selectedItems","activeTab","scrollHeight","offsetWidth","offsetTop","scrollWidth","genBar","dark","light","change","setTextColor","VTabsBar","genSlider","genItems","VTabsItems","VTabsSlider","parseNodes","tab","componentOptions","Ctor","modifiers","quiet","loadingData","searchTimeout","finalSearch","dataFile","UITable","layout","components","SectionBanner","ContentSnapshot","Leaderboard","scrollToTop","head","META_PAGES","GENERAL","meta","charset","hid","property","siteName","keywords","description","canonical","image","link","rel","onBeforeMount","finally"],"mappings":"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","file":"03c8d56.js","sourcesContent":["/*!\n * vue-countdown v1.1.5\n * https://fengyuanchen.github.io/vue-countdown\n *\n * Copyright 2018-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2020-02-25T01:19:32.769Z\n */\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = global || self, global.VueCountdown = factory());\n}(this, (function () { 'use strict';\n\n var MILLISECONDS_SECOND = 1000;\n var MILLISECONDS_MINUTE = 60 * MILLISECONDS_SECOND;\n var MILLISECONDS_HOUR = 60 * MILLISECONDS_MINUTE;\n var MILLISECONDS_DAY = 24 * MILLISECONDS_HOUR;\n var EVENT_VISIBILITY_CHANGE = 'visibilitychange';\n var index = {\n name: 'countdown',\n data: function data() {\n return {\n /**\n * It is counting down.\n * @type {boolean}\n */\n counting: false,\n\n /**\n * The absolute end time.\n * @type {number}\n */\n endTime: 0,\n\n /**\n * The remaining milliseconds.\n * @type {number}\n */\n totalMilliseconds: 0\n };\n },\n props: {\n /**\n * Starts the countdown automatically when initialized.\n */\n autoStart: {\n type: Boolean,\n default: true\n },\n\n /**\n * Emits the countdown events.\n */\n emitEvents: {\n type: Boolean,\n default: true\n },\n\n /**\n * The interval time (in milliseconds) of the countdown progress.\n */\n interval: {\n type: Number,\n default: 1000,\n validator: function validator(value) {\n return value >= 0;\n }\n },\n\n /**\n * Generate the current time of a specific time zone.\n */\n now: {\n type: Function,\n default: function _default() {\n return Date.now();\n }\n },\n\n /**\n * The tag name of the component's root element.\n */\n tag: {\n type: String,\n default: 'span'\n },\n\n /**\n * The time (in milliseconds) to count down from.\n */\n time: {\n type: Number,\n default: 0,\n validator: function validator(value) {\n return value >= 0;\n }\n },\n\n /**\n * Transforms the output props before render.\n */\n transform: {\n type: Function,\n default: function _default(props) {\n return props;\n }\n }\n },\n computed: {\n /**\n * Remaining days.\n * @returns {number} The computed value.\n */\n days: function days() {\n return Math.floor(this.totalMilliseconds / MILLISECONDS_DAY);\n },\n\n /**\n * Remaining hours.\n * @returns {number} The computed value.\n */\n hours: function hours() {\n return Math.floor(this.totalMilliseconds % MILLISECONDS_DAY / MILLISECONDS_HOUR);\n },\n\n /**\n * Remaining minutes.\n * @returns {number} The computed value.\n */\n minutes: function minutes() {\n return Math.floor(this.totalMilliseconds % MILLISECONDS_HOUR / MILLISECONDS_MINUTE);\n },\n\n /**\n * Remaining seconds.\n * @returns {number} The computed value.\n */\n seconds: function seconds() {\n return Math.floor(this.totalMilliseconds % MILLISECONDS_MINUTE / MILLISECONDS_SECOND);\n },\n\n /**\n * Remaining milliseconds.\n * @returns {number} The computed value.\n */\n milliseconds: function milliseconds() {\n return Math.floor(this.totalMilliseconds % MILLISECONDS_SECOND);\n },\n\n /**\n * Total remaining days.\n * @returns {number} The computed value.\n */\n totalDays: function totalDays() {\n return this.days;\n },\n\n /**\n * Total remaining hours.\n * @returns {number} The computed value.\n */\n totalHours: function totalHours() {\n return Math.floor(this.totalMilliseconds / MILLISECONDS_HOUR);\n },\n\n /**\n * Total remaining minutes.\n * @returns {number} The computed value.\n */\n totalMinutes: function totalMinutes() {\n return Math.floor(this.totalMilliseconds / MILLISECONDS_MINUTE);\n },\n\n /**\n * Total remaining seconds.\n * @returns {number} The computed value.\n */\n totalSeconds: function totalSeconds() {\n return Math.floor(this.totalMilliseconds / MILLISECONDS_SECOND);\n }\n },\n render: function render(createElement) {\n return createElement(this.tag, this.$scopedSlots.default ? [this.$scopedSlots.default(this.transform({\n days: this.days,\n hours: this.hours,\n minutes: this.minutes,\n seconds: this.seconds,\n milliseconds: this.milliseconds,\n totalDays: this.totalDays,\n totalHours: this.totalHours,\n totalMinutes: this.totalMinutes,\n totalSeconds: this.totalSeconds,\n totalMilliseconds: this.totalMilliseconds\n }))] : this.$slots.default);\n },\n watch: {\n $props: {\n deep: true,\n immediate: true,\n\n /**\n * Update the countdown when props changed.\n */\n handler: function handler() {\n this.totalMilliseconds = this.time;\n this.endTime = this.now() + this.time;\n\n if (this.autoStart) {\n this.start();\n }\n }\n }\n },\n methods: {\n /**\n * Starts to countdown.\n * @public\n * @emits Countdown#start\n */\n start: function start() {\n if (this.counting) {\n return;\n }\n\n this.counting = true;\n\n if (this.emitEvents) {\n /**\n * Countdown start event.\n * @event Countdown#start\n */\n this.$emit('start');\n }\n\n if (document.visibilityState === 'visible') {\n this.continue();\n }\n },\n\n /**\n * Continues the countdown.\n * @private\n */\n continue: function _continue() {\n var _this = this;\n\n if (!this.counting) {\n return;\n }\n\n var delay = Math.min(this.totalMilliseconds, this.interval);\n\n if (delay > 0) {\n if (window.requestAnimationFrame) {\n var init;\n var prev;\n\n var step = function step(now) {\n if (!init) {\n init = now;\n }\n\n if (!prev) {\n prev = now;\n }\n\n var range = now - init;\n\n if (range >= delay // Avoid losing time about one second per minute (now - prev ≈ 16ms) (#43)\n || range + (now - prev) / 2 >= delay) {\n _this.progress();\n } else {\n _this.requestId = requestAnimationFrame(step);\n }\n\n prev = now;\n };\n\n this.requestId = requestAnimationFrame(step);\n } else {\n this.timeoutId = setTimeout(function () {\n _this.progress();\n }, delay);\n }\n } else {\n this.end();\n }\n },\n\n /**\n * Pauses the countdown.\n * @private\n */\n pause: function pause() {\n if (window.requestAnimationFrame) {\n cancelAnimationFrame(this.requestId);\n } else {\n clearTimeout(this.timeoutId);\n }\n },\n\n /**\n * Progresses to countdown.\n * @private\n * @emits Countdown#progress\n */\n progress: function progress() {\n if (!this.counting) {\n return;\n }\n\n this.totalMilliseconds -= this.interval;\n\n if (this.emitEvents && this.totalMilliseconds > 0) {\n /**\n * Countdown progress event.\n * @event Countdown#progress\n */\n this.$emit('progress', {\n days: this.days,\n hours: this.hours,\n minutes: this.minutes,\n seconds: this.seconds,\n milliseconds: this.milliseconds,\n totalDays: this.totalDays,\n totalHours: this.totalHours,\n totalMinutes: this.totalMinutes,\n totalSeconds: this.totalSeconds,\n totalMilliseconds: this.totalMilliseconds\n });\n }\n\n this.continue();\n },\n\n /**\n * Aborts the countdown.\n * @public\n * @emits Countdown#abort\n */\n abort: function abort() {\n if (!this.counting) {\n return;\n }\n\n this.pause();\n this.counting = false;\n\n if (this.emitEvents) {\n /**\n * Countdown abort event.\n * @event Countdown#abort\n */\n this.$emit('abort');\n }\n },\n\n /**\n * Ends the countdown.\n * @public\n * @emits Countdown#end\n */\n end: function end() {\n if (!this.counting) {\n return;\n }\n\n this.pause();\n this.totalMilliseconds = 0;\n this.counting = false;\n\n if (this.emitEvents) {\n /**\n * Countdown end event.\n * @event Countdown#end\n */\n this.$emit('end');\n }\n },\n\n /**\n * Updates the count.\n * @private\n */\n update: function update() {\n if (this.counting) {\n this.totalMilliseconds = Math.max(0, this.endTime - this.now());\n }\n },\n\n /**\n * visibility change event handler.\n * @private\n */\n handleVisibilityChange: function handleVisibilityChange() {\n switch (document.visibilityState) {\n case 'visible':\n this.update();\n this.continue();\n break;\n\n case 'hidden':\n this.pause();\n break;\n }\n }\n },\n mounted: function mounted() {\n document.addEventListener(EVENT_VISIBILITY_CHANGE, this.handleVisibilityChange);\n },\n beforeDestroy: function beforeDestroy() {\n document.removeEventListener(EVENT_VISIBILITY_CHANGE, this.handleVisibilityChange);\n this.pause();\n }\n };\n\n return index;\n\n})));\n","export * from \"-!../../node_modules/extract-css-chunks-webpack-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/@nuxt/components/dist/loader.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UICountDown.vue?vue&type=style&index=0&id=3ac18a38&prod&lang=scss&\"","\nimport Vue from 'vue';\nimport { useStore, useRouter, useContext } from '@nuxtjs/composition-api'\nimport { defineComponent, computed, onBeforeMount, onMounted, onBeforeUnmount, reactive, toRefs, ref, nextTick } from 'vue'\nimport VueCountdown from '@chenfengyuan/vue-countdown';\nVue.component(VueCountdown.name, VueCountdown);\nexport default{\n name: \"UICountDown\",\n props:{\n time: {\n type: Number,\n default: 0\n }\n },\n emits: ['onCountdownEnd'],\n setup(props){\n const { app: {i18n, $helper} } = useContext()\n const countdowm = ref(null)\n \n const timeCountDown = computed(() => {\n const {time} = props;\n const now = Date.now();\n const temp = (time*1000) - now;\n if(temp > 0) {\n return temp;\n } else {\n return 0;\n }\n });\n\n return {\n ...toRefs(props),\n countdowm,\n timeCountDown\n }\n }\n}\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--3-0!../../node_modules/@nuxt/components/dist/loader.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UICountDown.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--3-0!../../node_modules/@nuxt/components/dist/loader.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UICountDown.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UICountDown.vue?vue&type=template&id=3ac18a38&\"\nimport script from \"./UICountDown.vue?vue&type=script&lang=js&\"\nexport * from \"./UICountDown.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UICountDown.vue?vue&type=style&index=0&id=3ac18a38&prod&lang=scss&\"\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","import Vue from 'vue'\n\n/**\n * SSRBootable\n *\n * @mixin\n *\n * Used in layout components (drawer, toolbar, content)\n * to avoid an entry animation when using SSR\n */\nexport default Vue.extend({\n name: 'ssr-bootable',\n\n data: () => ({\n isBooted: false,\n }),\n\n mounted () {\n // Use setAttribute instead of dataset\n // because dataset does not work well\n // with unit tests\n window.requestAnimationFrame(() => {\n this.$el.setAttribute('data-booted', 'true')\n this.isBooted = true\n })\n },\n})\n","\nimport Vue from 'vue';\nimport { useStore, useRouter, useContext } from '@nuxtjs/composition-api'\nimport { reactive, toRefs, ref, nextTick } from 'vue'\nexport default{\n name: \"UITable\",\n props:{\n dataTable: {\n type: Array\n },\n search:{\n type: String,\n default: ''\n },\n loading:{\n type: Boolean,\n default: false\n }\n },\n setup(props:any){\n const { app: { $helper} } = useContext()\n const customSearch = (value:any, search:string, item:any) => {\n return (value != null &&\n search != null &&\n typeof value === 'string') &&\n ((value.toString().toLowerCase().indexOf(search.toLowerCase()) !== -1) || (value.toString().toLowerCase().indexOf(\"peaches\") !== -1))\n }\n const headers = [\n { text: '#', value: 'rank', align: 'center', sortable: true, filterable: false},\n { text: `Owner address`, value: 'owner', sortable: false, filterable: true},\n { text: `BSC Pet NFTs`, value: 'bsc', align: 'center', sortable: true, filterable: false},\n { text: `KAI Pet NFTs`, value: 'kai', align: 'center', sortable: true, filterable: false},\n { text: `Total Points`, value: 'point', align: 'center', sortable: true, filterable: false}\n ]\n return {\n ...toRefs(props),\n customSearch,\n headers,\n helper: $helper\n }\n }\n}\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--13-0!../../node_modules/ts-loader/index.js??ref--13-1!../../node_modules/@nuxt/components/dist/loader.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UITable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--13-0!../../node_modules/ts-loader/index.js??ref--13-1!../../node_modules/@nuxt/components/dist/loader.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UITable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UITable.vue?vue&type=template&id=4996568a&\"\nimport script from \"./UITable.vue?vue&type=script&lang=ts&\"\nexport * from \"./UITable.vue?vue&type=script&lang=ts&\"\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","module.exports = __webpack_public_path__ + \"img/banner_700x500.1bf4bd7.png\";","export * from \"-!../../node_modules/extract-css-chunks-webpack-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/@nuxt/components/dist/loader.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SectionBanner.vue?vue&type=style&index=0&id=0f92a1fa&prod&lang=scss&\"","export * from \"-!../node_modules/extract-css-chunks-webpack-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/@nuxt/components/dist/loader.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContentSnapshot.vue?vue&type=style&index=0&id=7b4d55d3&prod&lang=scss&scoped=true&\"","var $ = require('../internals/export');\nvar sign = require('../internals/math-sign');\n\n// `Math.sign` method\n// https://tc39.es/ecma262/#sec-math.sign\n$({ target: 'Math', stat: true }, {\n sign: sign\n});\n","export * from \"-!../node_modules/extract-css-chunks-webpack-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/@nuxt/components/dist/loader.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Leaderboard.vue?vue&type=style&index=0&id=6658e05b&prod&lang=scss&\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('SectionBanner'),_vm._v(\" \"),_c('ContentSnapshot'),_vm._v(\" \"),_c('Leaderboard',{attrs:{\"loadingData\":_vm.loadingData}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { useStore, useContext } from '@nuxtjs/composition-api'\nimport { computed, reactive, toRefs, ref, onMounted, nextTick, watch } from 'vue'\nconst imgPet = require(\"@/assets/img/banner_700x500.png\")\n\nexport default {\n name: \"SectionBanner\",\n setup() {\n const { $vuetify }: any = useContext()\n const store = useStore();\n const state = reactive({\n isLoading: false,\n isCountdown: false\n })\n const timeCountDown = ref(0);\n const title = ref('Airdrop is coming! Airdrop is coming! \\n Follow all MDP channels to catch your rewards.');\n const isConnected = computed(() => store.getters['web3/isConnected'])\n const isReady = computed(() => store.getters['migration/getIsReady'])\n const rangeTime = computed(() => store.getters['migration/getRangeTime'])\n const rangeTimeClaim = computed(() => store.getters['migration/getRangeTimeClaim'])\n const season = computed(() => store.getters['migration/getSeason'])\n const scrollToDiv = () => {\n $vuetify.goTo('#section-migration')\n }\n\n onMounted(() => {\n // state.isLoading = true\n // nextTick(() => {\n // setTimeout(() => {\n // getTimeCountDown();\n // state.isLoading = false\n // }, 1000);\n // })\n })\n\n // watch(() => rangeTime.value, () => getTimeCountDown())\n\n const getTimeCountDown = () => {\n const now = Math.floor(Date.now() / 1000);\n if (rangeTime.value.from > 0 && rangeTime.value.to > 0) {\n state.isCountdown = true;\n if (now < rangeTime.value.from) {\n timeCountDown.value = parseInt(rangeTime.value.from);\n // title.value = `My DeFi Pet migration season ${season.value} is coming soon…`;\n title.value = `The MDP Migration has been successfully completed.\\n Thank you for your support!`;\n\n } else if (now > rangeTime.value.from && now < rangeTime.value.to) {\n timeCountDown.value = parseInt(rangeTime.value.to);\n // title.value = `My DeFi Pet Migration season ${season.value}`;\n title.value = `The MDP Migration has been successfully completed.\\n Thank you for your support!`;\n } else if (now > rangeTime.value.to) {\n timeCountDown.value = parseInt(rangeTime.value.to);\n // title.value = `MDP migration the last season has ended. Let’s wait for the claiming time`;\n // title.value = `It’s time to claim your credits of MDP Migration Season ${season.value}! \\n Claim will be closed at: 7:00 UTC 30th Nov, 2023`;\n title.value = `The MDP Migration has been successfully completed.\\n Thank you for your support!`;\n state.isCountdown = false;\n } else {\n // title.value = `My DeFi Pet Migration Is Coming Soon…`;\n // title.value = `MDP migration season 2 has ended. Stay tuned for the claiming phase`;\n // title.value = `It’s time to claim your credits of MDP Migration Season 2! \\n Claim will be closed at: 7:00 UTC 30th Nov, 2023`;\n title.value = `The MDP Migration has been successfully completed.\\n Thank you for your support!`;\n state.isCountdown = false;\n }\n }\n\n }\n\n const handleBtn = async () => {\n if (isConnected.value) scrollToDiv()\n else {\n const web3 = await store.dispatch('web3/connect')\n if (web3) {\n setTimeout(() => {\n scrollToDiv();\n }, 300);\n }\n\n }\n }\n\n const onCountdownEnd = () => {\n setTimeout(async () => {\n await Promise.all([\n store.dispatch('migration/checkIsReady'),\n store.dispatch('migration/getStateMigration'),\n ])\n // getTimeCountDown();\n }, 500);\n }\n\n return {\n ...toRefs(state),\n imgPet,\n isConnected,\n handleBtn,\n title,\n timeCountDown,\n onCountdownEnd,\n isReady\n }\n }\n}\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--13-0!../../node_modules/ts-loader/index.js??ref--13-1!../../node_modules/@nuxt/components/dist/loader.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SectionBanner.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--13-0!../../node_modules/ts-loader/index.js??ref--13-1!../../node_modules/@nuxt/components/dist/loader.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SectionBanner.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SectionBanner.vue?vue&type=template&id=0f92a1fa&\"\nimport script from \"./SectionBanner.vue?vue&type=script&lang=ts&\"\nexport * from \"./SectionBanner.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./SectionBanner.vue?vue&type=style&index=0&id=0f92a1fa&prod&lang=scss&\"\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/* nuxt-component-imports */\ninstallComponents(component, {UICountDown: require('/Users/mr9r2opt/Documents/GreenB/Work/ONCHAMON/mydefipet-2/components/shared/UICountDown.vue').default})\n","import mod from \"-!../node_modules/babel-loader/lib/index.js??ref--13-0!../node_modules/ts-loader/index.js??ref--13-1!../node_modules/@nuxt/components/dist/loader.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContentSnapshot.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/babel-loader/lib/index.js??ref--13-0!../node_modules/ts-loader/index.js??ref--13-1!../node_modules/@nuxt/components/dist/loader.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContentSnapshot.vue?vue&type=script&lang=ts&\"","\nimport { useStore, useRouter, useContext } from '@nuxtjs/composition-api'\nimport { computed, onBeforeMount, onMounted, watch, reactive, toRefs, nextTick, ref, onUnmounted } from 'vue'\nexport default {\n name: 'ContentSnapshot', \n setup() {\n\n }\n}\n","import { render, staticRenderFns } from \"./ContentSnapshot.vue?vue&type=template&id=7b4d55d3&scoped=true&\"\nimport script from \"./ContentSnapshot.vue?vue&type=script&lang=ts&\"\nexport * from \"./ContentSnapshot.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ContentSnapshot.vue?vue&type=style&index=0&id=7b4d55d3&prod&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 \"7b4d55d3\",\n null\n \n)\n\nexport default component.exports","// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Routable from '../../mixins/routable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport { keyCodes } from './../../util/helpers'\nimport mixins from '../../util/mixins'\nimport { ExtractVue } from './../../util/mixins'\n\n// Types\nimport { VNode } from 'vue/types'\n\n// Components\nimport VTabsBar from '../VTabs/VTabsBar'\n\nconst baseMixins = mixins(\n Routable,\n // Must be after routable\n // to overwrite activeClass\n GroupableFactory('tabsBar'),\n Themeable\n)\n\ntype VTabBarInstance = InstanceType\n\ninterface options extends ExtractVue {\n $el: HTMLElement\n tabsBar: VTabBarInstance\n}\n\nexport default baseMixins.extend().extend(\n /* @vue/component */\n).extend({\n name: 'v-tab',\n\n props: {\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n },\n\n data: () => ({\n proxyClass: 'v-tab--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-tab': true,\n ...Routable.options.computed.classes.call(this),\n 'v-tab--disabled': this.disabled,\n ...this.groupClasses,\n }\n },\n value (): any {\n let to = this.to || this.href\n\n if (to == null) return to\n\n if (this.$router &&\n this.to === Object(this.to)\n ) {\n const resolve = this.$router.resolve(\n this.to,\n this.$route,\n this.append\n )\n\n to = resolve.href\n }\n\n return to.replace('#', '')\n },\n },\n\n methods: {\n click (e: KeyboardEvent | MouseEvent): void {\n // Prevent keyboard actions\n // from children elements\n // within disabled tabs\n if (this.disabled) {\n e.preventDefault()\n return\n }\n\n // If user provides an\n // actual link, do not\n // prevent default\n if (this.href &&\n this.href.indexOf('#') > -1\n ) e.preventDefault()\n\n if (e.detail) this.$el.blur()\n\n this.$emit('click', e)\n\n this.to || this.toggle()\n },\n toggle () {\n // VItemGroup treats a change event as a click\n if (!this.isActive || (!this.tabsBar.mandatory && !this.to)) {\n this.$emit('change')\n }\n },\n },\n\n render (h): VNode {\n const { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n 'aria-selected': String(this.isActive),\n role: 'tab',\n tabindex: this.disabled ? -1 : 0,\n }\n data.on = {\n ...data.on,\n keydown: (e: KeyboardEvent) => {\n if (e.keyCode === keyCodes.enter) this.click(e)\n\n this.$emit('keydown', e)\n },\n }\n\n return h(tag, data, this.$slots.default)\n },\n})\n","import { VNodeDirective, VNode } from 'vue/types/vnode'\nimport { keys } from '../../util/helpers'\nimport { TouchHandlers, TouchValue, TouchWrapper } from 'vuetify/types'\n\nexport interface TouchStoredHandlers {\n touchstart: (e: TouchEvent) => void\n touchend: (e: TouchEvent) => void\n touchmove: (e: TouchEvent) => void\n}\n\ninterface TouchVNodeDirective extends VNodeDirective {\n value?: TouchValue\n}\n\nconst handleGesture = (wrapper: TouchWrapper) => {\n const { touchstartX, touchendX, touchstartY, touchendY } = wrapper\n const dirRatio = 0.5\n const minDistance = 16\n wrapper.offsetX = touchendX - touchstartX\n wrapper.offsetY = touchendY - touchstartY\n\n if (Math.abs(wrapper.offsetY) < dirRatio * Math.abs(wrapper.offsetX)) {\n wrapper.left && (touchendX < touchstartX - minDistance) && wrapper.left(wrapper)\n wrapper.right && (touchendX > touchstartX + minDistance) && wrapper.right(wrapper)\n }\n\n if (Math.abs(wrapper.offsetX) < dirRatio * Math.abs(wrapper.offsetY)) {\n wrapper.up && (touchendY < touchstartY - minDistance) && wrapper.up(wrapper)\n wrapper.down && (touchendY > touchstartY + minDistance) && wrapper.down(wrapper)\n }\n}\n\nfunction touchstart (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchstartX = touch.clientX\n wrapper.touchstartY = touch.clientY\n\n wrapper.start &&\n wrapper.start(Object.assign(event, wrapper))\n}\n\nfunction touchend (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchendX = touch.clientX\n wrapper.touchendY = touch.clientY\n\n wrapper.end &&\n wrapper.end(Object.assign(event, wrapper))\n\n handleGesture(wrapper)\n}\n\nfunction touchmove (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchmoveX = touch.clientX\n wrapper.touchmoveY = touch.clientY\n\n wrapper.move && wrapper.move(Object.assign(event, wrapper))\n}\n\nfunction createHandlers (value: TouchHandlers): TouchStoredHandlers {\n const wrapper = {\n touchstartX: 0,\n touchstartY: 0,\n touchendX: 0,\n touchendY: 0,\n touchmoveX: 0,\n touchmoveY: 0,\n offsetX: 0,\n offsetY: 0,\n left: value.left,\n right: value.right,\n up: value.up,\n down: value.down,\n start: value.start,\n move: value.move,\n end: value.end,\n }\n\n return {\n touchstart: (e: TouchEvent) => touchstart(e, wrapper),\n touchend: (e: TouchEvent) => touchend(e, wrapper),\n touchmove: (e: TouchEvent) => touchmove(e, wrapper),\n }\n}\n\nfunction inserted (el: HTMLElement, binding: TouchVNodeDirective, vnode: VNode) {\n const value = binding.value!\n const target = value.parent ? el.parentElement : el\n const options = value.options || { passive: true }\n\n // Needed to pass unit tests\n if (!target) return\n\n const handlers = createHandlers(binding.value!)\n target._touchHandlers = Object(target._touchHandlers)\n target._touchHandlers![vnode.context!._uid] = handlers\n\n keys(handlers).forEach(eventName => {\n target.addEventListener(eventName, handlers[eventName] as EventListener, options)\n })\n}\n\nfunction unbind (el: HTMLElement, binding: TouchVNodeDirective, vnode: VNode) {\n const target = binding.value!.parent ? el.parentElement : el\n if (!target || !target._touchHandlers) return\n\n const handlers = target._touchHandlers[vnode.context!._uid]\n keys(handlers).forEach(eventName => {\n target.removeEventListener(eventName, handlers[eventName])\n })\n delete target._touchHandlers[vnode.context!._uid]\n}\n\nexport const Touch = {\n inserted,\n unbind,\n}\n\nexport default Touch\n","// Components\nimport VWindow from './VWindow'\n\n// Mixins\nimport Bootable from '../../mixins/bootable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport { convertToUnit } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n Bootable,\n GroupableFactory('windowGroup', 'v-window-item', 'v-window')\n)\n\ninterface options extends ExtractVue {\n $el: HTMLElement\n windowGroup: InstanceType\n}\n\nexport default baseMixins.extend().extend(\n /* @vue/component */\n).extend({\n name: 'v-window-item',\n\n directives: {\n Touch,\n },\n\n props: {\n disabled: Boolean,\n reverseTransition: {\n type: [Boolean, String],\n default: undefined,\n },\n transition: {\n type: [Boolean, String],\n default: undefined,\n },\n value: {\n required: false,\n },\n },\n\n data () {\n return {\n isActive: false,\n inTransition: false,\n }\n },\n\n computed: {\n classes (): object {\n return this.groupClasses\n },\n computedTransition (): string | boolean {\n if (!this.windowGroup.internalReverse) {\n return typeof this.transition !== 'undefined'\n ? this.transition || ''\n : this.windowGroup.computedTransition\n }\n\n return typeof this.reverseTransition !== 'undefined'\n ? this.reverseTransition || ''\n : this.windowGroup.computedTransition\n },\n },\n\n methods: {\n genDefaultSlot () {\n return this.$slots.default\n },\n genWindowItem () {\n return this.$createElement('div', {\n staticClass: 'v-window-item',\n class: this.classes,\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n on: this.$listeners,\n }, this.genDefaultSlot())\n },\n onAfterTransition () {\n if (!this.inTransition) {\n return\n }\n\n // Finalize transition state.\n this.inTransition = false\n if (this.windowGroup.transitionCount > 0) {\n this.windowGroup.transitionCount--\n\n // Remove container height if we are out of transition.\n if (this.windowGroup.transitionCount === 0) {\n this.windowGroup.transitionHeight = undefined\n }\n }\n },\n onBeforeTransition () {\n if (this.inTransition) {\n return\n }\n\n // Initialize transition state here.\n this.inTransition = true\n if (this.windowGroup.transitionCount === 0) {\n // Set initial height for height transition.\n this.windowGroup.transitionHeight = convertToUnit(this.windowGroup.$el.clientHeight)\n }\n this.windowGroup.transitionCount++\n },\n onTransitionCancelled () {\n this.onAfterTransition() // This should have the same path as normal transition end.\n },\n onEnter (el: HTMLElement) {\n if (!this.inTransition) {\n return\n }\n\n this.$nextTick(() => {\n // Do not set height if no transition or cancelled.\n if (!this.computedTransition || !this.inTransition) {\n return\n }\n\n // Set transition target height.\n this.windowGroup.transitionHeight = convertToUnit(el.clientHeight)\n })\n },\n },\n\n render (h): VNode {\n return h('transition', {\n props: {\n name: this.computedTransition,\n },\n on: {\n // Handlers for enter windows.\n beforeEnter: this.onBeforeTransition,\n afterEnter: this.onAfterTransition,\n enterCancelled: this.onTransitionCancelled,\n\n // Handlers for leave windows.\n beforeLeave: this.onBeforeTransition,\n afterLeave: this.onAfterTransition,\n leaveCancelled: this.onTransitionCancelled,\n\n // Enter handler for height transition.\n enter: this.onEnter,\n },\n }, this.showLazyContent(() => [this.genWindowItem()]))\n },\n})\n","// Extensions\nimport VWindowItem from '../VWindow/VWindowItem'\n\n/* @vue/component */\nexport default VWindowItem.extend({\n name: 'v-tab-item',\n\n props: {\n id: String,\n },\n\n methods: {\n genWindowItem () {\n const item = VWindowItem.options.methods.genWindowItem.call(this)\n\n item.data!.domProps = item.data!.domProps || {}\n item.data!.domProps.id = this.id || this.value\n\n return item\n },\n },\n})\n","// Styles\nimport './VSlideGroup.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport { VFadeTransition } from '../transitions'\n\n// Extensions\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Mixins\nimport Mobile from '../../mixins/mobile'\n\n// Directives\nimport Resize from '../../directives/resize'\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode } from 'vue'\nimport { composedPath } from '../../util/helpers'\n\ninterface TouchEvent {\n touchstartX: number\n touchstartY: number\n touchmoveX: number\n touchmoveY: number\n stopPropagation: Function\n}\n\ninterface Widths {\n content: number\n wrapper: number\n}\n\ninterface options extends Vue {\n $refs: {\n content: HTMLElement\n wrapper: HTMLElement\n }\n}\n\nfunction bias (val: number) {\n const c = 0.501\n const x = Math.abs(val)\n return Math.sign(val) * (x / ((1 / c - 2) * (1 - x) + 1))\n}\n\nexport function calculateUpdatedOffset (\n selectedElement: HTMLElement,\n widths: Widths,\n rtl: boolean,\n currentScrollOffset: number\n): number {\n const clientWidth = selectedElement.clientWidth\n const offsetLeft = rtl\n ? (widths.content - selectedElement.offsetLeft - clientWidth)\n : selectedElement.offsetLeft\n\n if (rtl) {\n currentScrollOffset = -currentScrollOffset\n }\n\n const totalWidth = widths.wrapper + currentScrollOffset\n const itemOffset = clientWidth + offsetLeft\n const additionalOffset = clientWidth * 0.4\n\n if (offsetLeft <= currentScrollOffset) {\n currentScrollOffset = Math.max(offsetLeft - additionalOffset, 0)\n } else if (totalWidth <= itemOffset) {\n currentScrollOffset = Math.min(currentScrollOffset - (totalWidth - itemOffset - additionalOffset), widths.content - widths.wrapper)\n }\n\n return rtl ? -currentScrollOffset : currentScrollOffset\n}\n\nexport function calculateCenteredOffset (\n selectedElement: HTMLElement,\n widths: Widths,\n rtl: boolean\n): number {\n const { offsetLeft, clientWidth } = selectedElement\n\n if (rtl) {\n const offsetCentered = widths.content - offsetLeft - clientWidth / 2 - widths.wrapper / 2\n return -Math.min(widths.content - widths.wrapper, Math.max(0, offsetCentered))\n } else {\n const offsetCentered = offsetLeft + clientWidth / 2 - widths.wrapper / 2\n return Math.min(widths.content - widths.wrapper, Math.max(0, offsetCentered))\n }\n}\n\nexport const BaseSlideGroup = mixins\n/* eslint-enable indent */\n>(\n BaseItemGroup,\n Mobile,\n /* @vue/component */\n).extend({\n name: 'base-slide-group',\n\n directives: {\n Resize,\n Touch,\n },\n\n props: {\n activeClass: {\n type: String,\n default: 'v-slide-item--active',\n },\n centerActive: Boolean,\n nextIcon: {\n type: String,\n default: '$next',\n },\n prevIcon: {\n type: String,\n default: '$prev',\n },\n showArrows: {\n type: [Boolean, String],\n validator: (v: any) => (\n typeof v === 'boolean' || [\n 'always',\n 'desktop',\n 'mobile',\n ].includes(v)\n ),\n },\n },\n\n data: () => ({\n isOverflowing: false,\n resizeTimeout: 0,\n startX: 0,\n isSwipingHorizontal: false,\n isSwiping: false,\n scrollOffset: 0,\n widths: {\n content: 0,\n wrapper: 0,\n },\n }),\n\n computed: {\n canTouch (): boolean {\n return typeof window !== 'undefined'\n },\n __cachedNext (): VNode {\n return this.genTransition('next')\n },\n __cachedPrev (): VNode {\n return this.genTransition('prev')\n },\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-slide-group': true,\n 'v-slide-group--has-affixes': this.hasAffixes,\n 'v-slide-group--is-overflowing': this.isOverflowing,\n }\n },\n hasAffixes (): Boolean {\n switch (this.showArrows) {\n // Always show arrows on desktop & mobile\n case 'always': return true\n\n // Always show arrows on desktop\n case 'desktop': return !this.isMobile\n\n // Show arrows on mobile when overflowing.\n // This matches the default 2.2 behavior\n case true: return this.isOverflowing || Math.abs(this.scrollOffset) > 0\n\n // Always show on mobile\n case 'mobile': return (\n this.isMobile ||\n (this.isOverflowing || Math.abs(this.scrollOffset) > 0)\n )\n\n // https://material.io/components/tabs#scrollable-tabs\n // Always show arrows when\n // overflowed on desktop\n default: return (\n !this.isMobile &&\n (this.isOverflowing || Math.abs(this.scrollOffset) > 0)\n )\n }\n },\n hasNext (): boolean {\n if (!this.hasAffixes) return false\n\n const { content, wrapper } = this.widths\n\n // Check one scroll ahead to know the width of right-most item\n return content > Math.abs(this.scrollOffset) + wrapper\n },\n hasPrev (): boolean {\n return this.hasAffixes && this.scrollOffset !== 0\n },\n },\n\n watch: {\n internalValue: 'setWidths',\n // When overflow changes, the arrows alter\n // the widths of the content and wrapper\n // and need to be recalculated\n isOverflowing: 'setWidths',\n scrollOffset (val) {\n if (this.$vuetify.rtl) val = -val\n\n let scroll =\n val <= 0\n ? bias(-val)\n : val > this.widths.content - this.widths.wrapper\n ? -(this.widths.content - this.widths.wrapper) + bias(this.widths.content - this.widths.wrapper - val)\n : -val\n\n if (this.$vuetify.rtl) scroll = -scroll\n\n this.$refs.content.style.transform = `translateX(${scroll}px)`\n },\n },\n\n mounted () {\n if (typeof ResizeObserver !== 'undefined') {\n const obs = new ResizeObserver(() => {\n this.onResize()\n })\n obs.observe(this.$el)\n obs.observe(this.$refs.content)\n this.$on('hook:destroyed', () => {\n obs.disconnect()\n })\n } else {\n let itemsLength = 0\n this.$on('hook:beforeUpdate', () => {\n itemsLength = (this.$refs.content?.children || []).length\n })\n this.$on('hook:updated', () => {\n if (itemsLength === (this.$refs.content?.children || []).length) return\n this.setWidths()\n })\n }\n },\n\n methods: {\n onScroll () {\n this.$refs.wrapper.scrollLeft = 0\n },\n onFocusin (e: FocusEvent) {\n if (!this.isOverflowing) return\n\n // Focused element is likely to be the root of an item, so a\n // breadth-first search will probably find it in the first iteration\n for (const el of composedPath(e)) {\n for (const vm of this.items) {\n if (vm.$el === el) {\n this.scrollOffset = calculateUpdatedOffset(\n vm.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl,\n this.scrollOffset\n )\n return\n }\n }\n }\n },\n // Always generate next for scrollable hint\n genNext (): VNode | null {\n const slot = this.$scopedSlots.next\n ? this.$scopedSlots.next({})\n : this.$slots.next || this.__cachedNext\n\n return this.$createElement('div', {\n staticClass: 'v-slide-group__next',\n class: {\n 'v-slide-group__next--disabled': !this.hasNext,\n },\n on: {\n click: () => this.onAffixClick('next'),\n },\n key: 'next',\n }, [slot])\n },\n genContent (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-slide-group__content',\n ref: 'content',\n on: {\n focusin: this.onFocusin,\n },\n }, this.$slots.default)\n },\n genData (): object {\n return {\n class: this.classes,\n directives: [{\n name: 'resize',\n value: this.onResize,\n }],\n }\n },\n genIcon (location: 'prev' | 'next'): VNode | null {\n let icon = location\n\n if (this.$vuetify.rtl && location === 'prev') {\n icon = 'next'\n } else if (this.$vuetify.rtl && location === 'next') {\n icon = 'prev'\n }\n\n const upperLocation = `${location[0].toUpperCase()}${location.slice(1)}`\n const hasAffix = (this as any)[`has${upperLocation}`]\n\n if (\n !this.showArrows &&\n !hasAffix\n ) return null\n\n return this.$createElement(VIcon, {\n props: {\n disabled: !hasAffix,\n },\n }, (this as any)[`${icon}Icon`])\n },\n // Always generate prev for scrollable hint\n genPrev (): VNode | null {\n const slot = this.$scopedSlots.prev\n ? this.$scopedSlots.prev({})\n : this.$slots.prev || this.__cachedPrev\n\n return this.$createElement('div', {\n staticClass: 'v-slide-group__prev',\n class: {\n 'v-slide-group__prev--disabled': !this.hasPrev,\n },\n on: {\n click: () => this.onAffixClick('prev'),\n },\n key: 'prev',\n }, [slot])\n },\n genTransition (location: 'prev' | 'next') {\n return this.$createElement(VFadeTransition, [this.genIcon(location)])\n },\n genWrapper (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-slide-group__wrapper',\n directives: [{\n name: 'touch',\n value: {\n start: (e: TouchEvent) => this.overflowCheck(e, this.onTouchStart),\n move: (e: TouchEvent) => this.overflowCheck(e, this.onTouchMove),\n end: (e: TouchEvent) => this.overflowCheck(e, this.onTouchEnd),\n },\n }],\n ref: 'wrapper',\n on: {\n scroll: this.onScroll,\n },\n }, [this.genContent()])\n },\n calculateNewOffset (direction: 'prev' | 'next', widths: Widths, rtl: boolean, currentScrollOffset: number) {\n const sign = rtl ? -1 : 1\n const newAbosluteOffset = sign * currentScrollOffset +\n (direction === 'prev' ? -1 : 1) * widths.wrapper\n\n return sign * Math.max(Math.min(newAbosluteOffset, widths.content - widths.wrapper), 0)\n },\n onAffixClick (location: 'prev' | 'next') {\n this.$emit(`click:${location}`)\n this.scrollTo(location)\n },\n onResize () {\n /* istanbul ignore next */\n if (this._isDestroyed) return\n\n this.setWidths()\n },\n onTouchStart (e: TouchEvent) {\n const { content } = this.$refs\n\n this.startX = this.scrollOffset + e.touchstartX as number\n\n content.style.setProperty('transition', 'none')\n content.style.setProperty('willChange', 'transform')\n },\n onTouchMove (e: TouchEvent) {\n if (!this.canTouch) return\n\n if (!this.isSwiping) {\n // only calculate disableSwipeHorizontal during the first onTouchMove invoke\n // in order to ensure disableSwipeHorizontal value is consistent between onTouchStart and onTouchEnd\n const diffX = e.touchmoveX - e.touchstartX\n const diffY = e.touchmoveY - e.touchstartY\n this.isSwipingHorizontal = Math.abs(diffX) > Math.abs(diffY)\n this.isSwiping = true\n }\n\n if (this.isSwipingHorizontal) {\n // sliding horizontally\n this.scrollOffset = this.startX - e.touchmoveX\n // temporarily disable window vertical scrolling\n document.documentElement.style.overflowY = 'hidden'\n }\n },\n onTouchEnd () {\n if (!this.canTouch) return\n\n const { content, wrapper } = this.$refs\n const maxScrollOffset = content.clientWidth - wrapper.clientWidth\n\n content.style.setProperty('transition', null)\n content.style.setProperty('willChange', null)\n\n if (this.$vuetify.rtl) {\n /* istanbul ignore else */\n if (this.scrollOffset > 0 || !this.isOverflowing) {\n this.scrollOffset = 0\n } else if (this.scrollOffset <= -maxScrollOffset) {\n this.scrollOffset = -maxScrollOffset\n }\n } else {\n /* istanbul ignore else */\n if (this.scrollOffset < 0 || !this.isOverflowing) {\n this.scrollOffset = 0\n } else if (this.scrollOffset >= maxScrollOffset) {\n this.scrollOffset = maxScrollOffset\n }\n }\n\n this.isSwiping = false\n // rollback whole page scrolling to default\n document.documentElement.style.removeProperty('overflow-y')\n },\n overflowCheck (e: TouchEvent, fn: (e: TouchEvent) => void) {\n e.stopPropagation()\n this.isOverflowing && fn(e)\n },\n scrollIntoView /* istanbul ignore next */ () {\n if (!this.selectedItem && this.items.length) {\n const lastItemPosition = this.items[this.items.length - 1].$el.getBoundingClientRect()\n const wrapperPosition = this.$refs.wrapper.getBoundingClientRect()\n\n if (\n (this.$vuetify.rtl && wrapperPosition.right < lastItemPosition.right) ||\n (!this.$vuetify.rtl && wrapperPosition.left > lastItemPosition.left)\n ) {\n this.scrollTo('prev')\n }\n }\n\n if (!this.selectedItem) {\n return\n }\n\n if (\n this.selectedIndex === 0 ||\n (!this.centerActive && !this.isOverflowing)\n ) {\n this.scrollOffset = 0\n } else if (this.centerActive) {\n this.scrollOffset = calculateCenteredOffset(\n this.selectedItem.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl\n )\n } else if (this.isOverflowing) {\n this.scrollOffset = calculateUpdatedOffset(\n this.selectedItem.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl,\n this.scrollOffset\n )\n }\n },\n scrollTo /* istanbul ignore next */ (location: 'prev' | 'next') {\n this.scrollOffset = this.calculateNewOffset(location, {\n // Force reflow\n content: this.$refs.content ? this.$refs.content.clientWidth : 0,\n wrapper: this.$refs.wrapper ? this.$refs.wrapper.clientWidth : 0,\n }, this.$vuetify.rtl, this.scrollOffset)\n },\n setWidths () {\n window.requestAnimationFrame(() => {\n if (this._isDestroyed) return\n\n const { content, wrapper } = this.$refs\n\n this.widths = {\n content: content ? content.clientWidth : 0,\n wrapper: wrapper ? wrapper.clientWidth : 0,\n }\n\n // https://github.com/vuetifyjs/vuetify/issues/13212\n // We add +1 to the wrappers width to prevent an issue where the `clientWidth`\n // gets calculated wrongly by the browser if using a different zoom-level.\n this.isOverflowing = this.widths.wrapper + 1 < this.widths.content\n\n this.scrollIntoView()\n })\n },\n },\n\n render (h): VNode {\n return h('div', this.genData(), [\n this.genPrev(),\n this.genWrapper(),\n this.genNext(),\n ])\n },\n})\n\nexport default BaseSlideGroup.extend({\n name: 'v-slide-group',\n\n provide (): object {\n return {\n slideGroup: this,\n }\n },\n})\n","// Extensions\nimport { BaseSlideGroup } from '../VSlideGroup/VSlideGroup'\n\n// Components\nimport VTab from './VTab'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport SSRBootable from '../../mixins/ssr-bootable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { Route } from 'vue-router'\nimport { VNode } from 'vue'\n\ntype VTabInstance = InstanceType\n\nexport default mixins(\n BaseSlideGroup,\n SSRBootable,\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-tabs-bar',\n\n provide () {\n return {\n tabsBar: this,\n }\n },\n\n computed: {\n classes () {\n return {\n ...BaseSlideGroup.options.computed.classes.call(this),\n 'v-tabs-bar': true,\n 'v-tabs-bar--is-mobile': this.isMobile,\n // TODO: Remove this and move to v-slide-group\n 'v-tabs-bar--show-arrows': this.showArrows,\n ...this.themeClasses,\n }\n },\n },\n\n watch: {\n items: 'callSlider',\n internalValue: 'callSlider',\n $route: 'onRouteChange',\n },\n\n methods: {\n callSlider () {\n if (!this.isBooted) return\n\n this.$emit('call:slider')\n },\n genContent () {\n const render = BaseSlideGroup.options.methods.genContent.call(this)\n\n render.data = render.data || {}\n render.data.staticClass += ' v-tabs-bar__content'\n\n return render\n },\n onRouteChange (val: Route, oldVal: Route) {\n /* istanbul ignore next */\n if (this.mandatory) return\n\n const items = this.items as unknown as VTabInstance[]\n const newPath = val.path\n const oldPath = oldVal.path\n\n let hasNew = false\n let hasOld = false\n\n for (const item of items) {\n if (item.to === oldPath) hasOld = true\n else if (item.to === newPath) hasNew = true\n\n if (hasNew && hasOld) break\n }\n\n // If we have an old item and not a new one\n // it's assumed that the user navigated to\n // a path that is not present in the items\n if (!hasNew && hasOld) this.internalValue = undefined\n },\n },\n\n render (h): VNode {\n const render = BaseSlideGroup.options.render.call(this, h)\n\n render.data!.attrs = {\n role: 'tablist',\n }\n\n return render\n },\n})\n","// Styles\nimport './VWindow.sass'\n\n// Types\nimport { VNode, VNodeDirective } from 'vue/types/vnode'\nimport { PropType } from 'vue'\nimport { TouchHandlers } from 'vuetify/types'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n/* @vue/component */\nexport default BaseItemGroup.extend({\n name: 'v-window',\n\n directives: { Touch },\n\n provide (): object {\n return {\n windowGroup: this,\n }\n },\n\n props: {\n activeClass: {\n type: String,\n default: 'v-window-item--active',\n },\n continuous: Boolean,\n mandatory: {\n type: Boolean,\n default: true,\n },\n nextIcon: {\n type: [Boolean, String],\n default: '$next',\n },\n prevIcon: {\n type: [Boolean, String],\n default: '$prev',\n },\n reverse: Boolean,\n showArrows: Boolean,\n showArrowsOnHover: Boolean,\n touch: Object as PropType,\n touchless: Boolean,\n value: {\n required: false,\n },\n vertical: Boolean,\n },\n\n data () {\n return {\n changedByDelimiters: false,\n internalHeight: undefined as undefined | string, // This can be fixed by child class.\n transitionHeight: undefined as undefined | string, // Intermediate height during transition.\n transitionCount: 0, // Number of windows in transition state.\n isBooted: false,\n isReverse: false,\n }\n },\n\n computed: {\n isActive (): boolean {\n return this.transitionCount > 0\n },\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-window--show-arrows-on-hover': this.showArrowsOnHover,\n }\n },\n computedTransition (): string {\n if (!this.isBooted) return ''\n\n const axis = this.vertical ? 'y' : 'x'\n const reverse = this.internalReverse ? !this.isReverse : this.isReverse\n const direction = reverse ? '-reverse' : ''\n\n return `v-window-${axis}${direction}-transition`\n },\n hasActiveItems (): boolean {\n return Boolean(\n this.items.find(item => !item.disabled)\n )\n },\n hasNext (): boolean {\n return this.continuous || this.internalIndex < this.items.length - 1\n },\n hasPrev (): boolean {\n return this.continuous || this.internalIndex > 0\n },\n internalIndex (): number {\n return this.items.findIndex((item, i) => {\n return this.internalValue === this.getValue(item, i)\n })\n },\n internalReverse (): boolean {\n return this.$vuetify.rtl ? !this.reverse : this.reverse\n },\n },\n\n watch: {\n internalIndex (val, oldVal) {\n this.isReverse = this.updateReverse(val, oldVal)\n },\n },\n\n mounted () {\n window.requestAnimationFrame(() => (this.isBooted = true))\n },\n\n methods: {\n genDefaultSlot () {\n return this.$slots.default\n },\n genContainer (): VNode {\n const children = [this.genDefaultSlot()]\n\n if (this.showArrows) {\n children.push(this.genControlIcons())\n }\n\n return this.$createElement('div', {\n staticClass: 'v-window__container',\n class: {\n 'v-window__container--is-active': this.isActive,\n },\n style: {\n height: this.internalHeight || this.transitionHeight,\n },\n }, children)\n },\n genIcon (\n direction: 'prev' | 'next',\n icon: string,\n click: () => void\n ) {\n const on = {\n click: (e: Event) => {\n e.stopPropagation()\n this.changedByDelimiters = true\n click()\n },\n }\n const attrs = {\n 'aria-label': this.$vuetify.lang.t(`$vuetify.carousel.${direction}`),\n }\n const children = this.$scopedSlots[direction]?.({\n on,\n attrs,\n }) ?? [this.$createElement(VBtn, {\n props: { icon: true },\n attrs,\n on,\n }, [\n this.$createElement(VIcon, {\n props: { large: true },\n }, icon),\n ])]\n\n return this.$createElement('div', {\n staticClass: `v-window__${direction}`,\n }, children)\n },\n genControlIcons () {\n const icons = []\n\n const prevIcon = this.$vuetify.rtl\n ? this.nextIcon\n : this.prevIcon\n\n /* istanbul ignore else */\n if (\n this.hasPrev &&\n prevIcon &&\n typeof prevIcon === 'string'\n ) {\n const icon = this.genIcon('prev', prevIcon, this.prev)\n icon && icons.push(icon)\n }\n\n const nextIcon = this.$vuetify.rtl\n ? this.prevIcon\n : this.nextIcon\n\n /* istanbul ignore else */\n if (\n this.hasNext &&\n nextIcon &&\n typeof nextIcon === 'string'\n ) {\n const icon = this.genIcon('next', nextIcon, this.next)\n icon && icons.push(icon)\n }\n\n return icons\n },\n getNextIndex (index: number): number {\n const nextIndex = (index + 1) % this.items.length\n const item = this.items[nextIndex]\n\n if (item.disabled) return this.getNextIndex(nextIndex)\n\n return nextIndex\n },\n getPrevIndex (index: number): number {\n const prevIndex = (index + this.items.length - 1) % this.items.length\n const item = this.items[prevIndex]\n\n if (item.disabled) return this.getPrevIndex(prevIndex)\n\n return prevIndex\n },\n next () {\n /* istanbul ignore if */\n if (!this.hasActiveItems || !this.hasNext) return\n\n const nextIndex = this.getNextIndex(this.internalIndex)\n const item = this.items[nextIndex]\n\n this.internalValue = this.getValue(item, nextIndex)\n },\n prev () {\n /* istanbul ignore if */\n if (!this.hasActiveItems || !this.hasPrev) return\n\n const lastIndex = this.getPrevIndex(this.internalIndex)\n const item = this.items[lastIndex]\n\n this.internalValue = this.getValue(item, lastIndex)\n },\n updateReverse (val: number, oldVal: number) {\n const itemsLength = this.items.length\n const lastIndex = itemsLength - 1\n\n if (itemsLength <= 2) return val < oldVal\n\n if (val === lastIndex && oldVal === 0) {\n return true\n } else if (val === 0 && oldVal === lastIndex) {\n return false\n } else {\n return val < oldVal\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-window',\n class: this.classes,\n directives: [] as VNodeDirective[],\n }\n\n if (!this.touchless) {\n const value = this.touch || {\n left: () => {\n this.$vuetify.rtl ? this.prev() : this.next()\n },\n right: () => {\n this.$vuetify.rtl ? this.next() : this.prev()\n },\n end: (e: TouchEvent) => {\n e.stopPropagation()\n },\n start: (e: TouchEvent) => {\n e.stopPropagation()\n },\n }\n\n data.directives.push({\n name: 'touch',\n value,\n })\n }\n\n return h('div', data, [this.genContainer()])\n },\n})\n","// Extensions\nimport VWindow from '../VWindow/VWindow'\n\n// Types & Components\nimport { BaseItemGroup, GroupableInstance } from './../VItemGroup/VItemGroup'\n\n/* @vue/component */\nexport default VWindow.extend({\n name: 'v-tabs-items',\n\n props: {\n mandatory: {\n type: Boolean,\n default: false,\n },\n },\n\n computed: {\n classes (): object {\n return {\n ...VWindow.options.computed.classes.call(this),\n 'v-tabs-items': true,\n }\n },\n isDark (): boolean {\n return this.rootIsDark\n },\n },\n\n methods: {\n getValue (item: GroupableInstance, i: number) {\n return item.id || BaseItemGroup.options.methods.getValue.call(this, item, i)\n },\n },\n})\n","// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue/types'\n\n/* @vue/component */\nexport default mixins(Colorable).extend({\n name: 'v-tabs-slider',\n\n render (h): VNode {\n return h('div', this.setBackgroundColor(this.color, {\n staticClass: 'v-tabs-slider',\n }))\n },\n})\n","// Styles\nimport './VTabs.sass'\n\n// Components\nimport VTabsBar from './VTabsBar'\nimport VTabsItems from './VTabsItems'\nimport VTabsSlider from './VTabsSlider'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport Resize from '../../directives/resize'\n\n// Utilities\nimport { convertToUnit } from '../../util/helpers'\nimport { ExtractVue } from './../../util/mixins'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue/types'\n\nconst baseMixins = mixins(\n Colorable,\n Proxyable,\n Themeable\n)\n\ninterface options extends ExtractVue {\n $refs: {\n items: InstanceType\n }\n}\n\nexport default baseMixins.extend().extend({\n name: 'v-tabs',\n\n directives: {\n Resize,\n },\n\n props: {\n activeClass: {\n type: String,\n default: '',\n },\n alignWithTitle: Boolean,\n backgroundColor: String,\n centerActive: Boolean,\n centered: Boolean,\n fixedTabs: Boolean,\n grow: Boolean,\n height: {\n type: [Number, String],\n default: undefined,\n },\n hideSlider: Boolean,\n iconsAndText: Boolean,\n mobileBreakpoint: [String, Number],\n nextIcon: {\n type: String,\n default: '$next',\n },\n optional: Boolean,\n prevIcon: {\n type: String,\n default: '$prev',\n },\n right: Boolean,\n showArrows: [Boolean, String],\n sliderColor: String,\n sliderSize: {\n type: [Number, String],\n default: 2,\n },\n vertical: Boolean,\n },\n\n data () {\n return {\n resizeTimeout: 0,\n slider: {\n height: null as null | number,\n left: null as null | number,\n right: null as null | number,\n top: null as null | number,\n width: null as null | number,\n },\n transitionTime: 300,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-tabs--align-with-title': this.alignWithTitle,\n 'v-tabs--centered': this.centered,\n 'v-tabs--fixed-tabs': this.fixedTabs,\n 'v-tabs--grow': this.grow,\n 'v-tabs--icons-and-text': this.iconsAndText,\n 'v-tabs--right': this.right,\n 'v-tabs--vertical': this.vertical,\n ...this.themeClasses,\n }\n },\n isReversed (): boolean {\n return this.$vuetify.rtl && this.vertical\n },\n sliderStyles (): object {\n return {\n height: convertToUnit(this.slider.height),\n left: this.isReversed ? undefined : convertToUnit(this.slider.left),\n right: this.isReversed ? convertToUnit(this.slider.right) : undefined,\n top: this.vertical ? convertToUnit(this.slider.top) : undefined,\n transition: this.slider.left != null ? null : 'none',\n width: convertToUnit(this.slider.width),\n }\n },\n computedColor (): string {\n if (this.color) return this.color\n else if (this.isDark && !this.appIsDark) return 'white'\n else return 'primary'\n },\n },\n\n watch: {\n alignWithTitle: 'callSlider',\n centered: 'callSlider',\n centerActive: 'callSlider',\n fixedTabs: 'callSlider',\n grow: 'callSlider',\n iconsAndText: 'callSlider',\n right: 'callSlider',\n showArrows: 'callSlider',\n vertical: 'callSlider',\n '$vuetify.application.left': 'onResize',\n '$vuetify.application.right': 'onResize',\n '$vuetify.rtl': 'onResize',\n },\n\n mounted () {\n if (typeof ResizeObserver !== 'undefined') {\n const obs = new ResizeObserver(() => {\n this.onResize()\n })\n obs.observe(this.$el)\n this.$on('hook:destroyed', () => {\n obs.disconnect()\n })\n }\n\n this.$nextTick(() => {\n window.setTimeout(this.callSlider, 30)\n })\n },\n\n methods: {\n callSlider () {\n if (\n this.hideSlider ||\n !this.$refs.items ||\n !this.$refs.items.selectedItems.length\n ) {\n this.slider.width = 0\n return false\n }\n\n this.$nextTick(() => {\n // Give screen time to paint\n const activeTab = this.$refs.items.selectedItems[0]\n /* istanbul ignore if */\n if (!activeTab || !activeTab.$el) {\n this.slider.width = 0\n this.slider.left = 0\n return\n }\n const el = activeTab.$el as HTMLElement\n\n this.slider = {\n height: !this.vertical ? Number(this.sliderSize) : el.scrollHeight,\n left: this.vertical ? 0 : el.offsetLeft,\n right: this.vertical ? 0 : el.offsetLeft + el.offsetWidth,\n top: el.offsetTop,\n width: this.vertical ? Number(this.sliderSize) : el.scrollWidth,\n }\n })\n\n return true\n },\n genBar (items: VNode[], slider: VNode | null) {\n const data = {\n style: {\n height: convertToUnit(this.height),\n },\n props: {\n activeClass: this.activeClass,\n centerActive: this.centerActive,\n dark: this.dark,\n light: this.light,\n mandatory: !this.optional,\n mobileBreakpoint: this.mobileBreakpoint,\n nextIcon: this.nextIcon,\n prevIcon: this.prevIcon,\n showArrows: this.showArrows,\n value: this.internalValue,\n },\n on: {\n 'call:slider': this.callSlider,\n change: (val: any) => {\n this.internalValue = val\n },\n },\n ref: 'items',\n }\n\n this.setTextColor(this.computedColor, data)\n this.setBackgroundColor(this.backgroundColor, data)\n\n return this.$createElement(VTabsBar, data, [\n this.genSlider(slider),\n items,\n ])\n },\n genItems (items: VNode | null, item: VNode[]) {\n // If user provides items\n // opt to use theirs\n if (items) return items\n\n // If no tabs are provided\n // render nothing\n if (!item.length) return null\n\n return this.$createElement(VTabsItems, {\n props: {\n value: this.internalValue,\n },\n on: {\n change: (val: any) => {\n this.internalValue = val\n },\n },\n }, item)\n },\n genSlider (slider: VNode | null) {\n if (this.hideSlider) return null\n\n if (!slider) {\n slider = this.$createElement(VTabsSlider, {\n props: { color: this.sliderColor },\n })\n }\n\n return this.$createElement('div', {\n staticClass: 'v-tabs-slider-wrapper',\n style: this.sliderStyles,\n }, [slider])\n },\n onResize () {\n if (this._isDestroyed) return\n\n clearTimeout(this.resizeTimeout)\n this.resizeTimeout = window.setTimeout(this.callSlider, 0)\n },\n parseNodes () {\n let items = null\n let slider = null\n const item = []\n const tab = []\n const slot = this.$slots.default || []\n const length = slot.length\n\n for (let i = 0; i < length; i++) {\n const vnode = slot[i]\n\n if (vnode.componentOptions) {\n switch (vnode.componentOptions.Ctor.options.name) {\n case 'v-tabs-slider': slider = vnode\n break\n case 'v-tabs-items': items = vnode\n break\n case 'v-tab-item': item.push(vnode)\n break\n // case 'v-tab' - intentionally omitted\n default: tab.push(vnode)\n }\n } else {\n tab.push(vnode)\n }\n }\n\n /**\n * tab: array of `v-tab`\n * slider: single `v-tabs-slider`\n * items: single `v-tabs-items`\n * item: array of `v-tab-item`\n */\n return { tab, slider, items, item }\n },\n },\n\n render (h): VNode {\n const { tab, slider, items, item } = this.parseNodes()\n\n return h('div', {\n staticClass: 'v-tabs',\n class: this.classes,\n directives: [{\n name: 'resize',\n modifiers: { quiet: true },\n value: this.onResize,\n }],\n }, [\n this.genBar(tab, slider),\n this.genItems(items, item),\n ])\n },\n})\n","\nimport { useStore, useRouter, useContext } from '@nuxtjs/composition-api'\nimport { computed, onBeforeMount, onMounted, watch, reactive, toRefs, nextTick, ref, onUnmounted } from 'vue'\nexport default {\n name: 'Leaderboard',\n props:{\n loadingData: {\n type: Boolean,\n default: false\n }\n },\n setup(props:any) {\n const store = useStore()\n const { app: { $helper } } = useContext()\n const searchTimeout = ref()\n const state = reactive({\n search: '',\n tab: 'Leaderboard',\n loading: false,\n finalSearch: ''\n })\n \n const dataFile = computed(() => store.getters['migration/getDataCSV']);\n // const searchTrigger = computed(() => {\n // clearTimeout(searchTimeout.value);\n // if (state.search.length > 3) {\n // searchTimeout.value = setTimeout(() => {\n // console.log('searchTimeout', state.search);\n // state.finalSearch = state.search\n // return state.search\n // }, 3000);\n // }\n // })\n \n watch(() => state.search, () => {\n if(!state.search) state.finalSearch = '';\n else {\n clearTimeout(searchTimeout.value);\n if (state.search.length > 3) {\n searchTimeout.value = setTimeout(() => {\n state.finalSearch = state.search\n }, 1500);\n }\n }\n })\n\n \n return {\n ...toRefs(state),\n ...toRefs(props),\n helper: $helper,\n dataFile,\n }\n }\n}\n","import mod from \"-!../node_modules/babel-loader/lib/index.js??ref--13-0!../node_modules/ts-loader/index.js??ref--13-1!../node_modules/@nuxt/components/dist/loader.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Leaderboard.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/babel-loader/lib/index.js??ref--13-0!../node_modules/ts-loader/index.js??ref--13-1!../node_modules/@nuxt/components/dist/loader.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Leaderboard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Leaderboard.vue?vue&type=template&id=6658e05b&\"\nimport script from \"./Leaderboard.vue?vue&type=script&lang=ts&\"\nexport * from \"./Leaderboard.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Leaderboard.vue?vue&type=style&index=0&id=6658e05b&prod&lang=scss&\"\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/* nuxt-component-imports */\ninstallComponents(component, {UITable: require('/Users/mr9r2opt/Documents/GreenB/Work/ONCHAMON/mydefipet-2/components/shared/UITable.vue').default})\n","\nimport { useStore, useRouter, useContext } from '@nuxtjs/composition-api'\nimport { computed, onBeforeMount, onMounted, watch, reactive, toRefs, nextTick, ref, onUnmounted } from 'vue'\nimport { ICON_NETWORK, META_PAGES } from '~/libs/const';\nimport SectionBanner from '~/components/layout/SectionBanner.vue'\nimport ContentSnapshot from '~/components/ContentSnapshot.vue'\nimport Leaderboard from '~/components/Leaderboard.vue'\nexport default {\n layout: 'default',\n name: 'IndexPage',\n components:{SectionBanner, ContentSnapshot, Leaderboard},\n scrollToTop: true,\n head: {\n title: META_PAGES.GENERAL.title,\n meta: [\n { charset: 'utf-8' },\n { name: 'og:type', content: 'website' },\n { hid: 'ogSiteName', property: 'og:site_name', content: META_PAGES.GENERAL.siteName },\n { hid: 'keywords', name: 'keywords', content: META_PAGES.GENERAL.keywords },\n { hid: 'description', name: 'description', content: META_PAGES.GENERAL.description },\n { hid: 'ogTitle', property: 'og:title', content: META_PAGES.GENERAL.title },\n { hid: 'ogDescription', property: 'og:description', content: META_PAGES.GENERAL.description },\n { hid: 'ogUrl', property: 'og:url', content: META_PAGES.GENERAL.canonical },\n { hid: 'ogImage', property: 'og:image', content: META_PAGES.GENERAL.image },\n { hid: 'ogImageWidth', property: 'og:image:width', content:'1200' },\n { hid: 'ogImageHeight', property: 'og:image:height', content: '630' },\n { hid: 'twTitle', name: 'twitter:title', content: META_PAGES.GENERAL.title },\n { hid: 'twDescription', name: 'twitter:description', content: META_PAGES.GENERAL.description },\n { hid: 'twImage', name: 'twitter:image', content: META_PAGES.GENERAL.image }\n ],\n link: [\n { hid: 'favicon', rel: 'icon', href: './assets/img/favicon.png' },\n { hid: 'linkCanonical', rel: 'canonical', href: META_PAGES.GENERAL.canonical }\n ]\n },\n setup() {\n const store = useStore()\n const state = reactive({\n loadingData: false\n })\n onBeforeMount(() => {\n state.loadingData = true;\n store.dispatch('migration/loadDataCSV')\n .finally(() => state.loadingData = false)\n })\n return {\n ...toRefs(state)\n }\n }\n}\n","import mod from \"-!../node_modules/babel-loader/lib/index.js??ref--13-0!../node_modules/ts-loader/index.js??ref--13-1!../node_modules/@nuxt/components/dist/loader.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/babel-loader/lib/index.js??ref--13-0!../node_modules/ts-loader/index.js??ref--13-1!../node_modules/@nuxt/components/dist/loader.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=349ec84b&\"\nimport script from \"./index.vue?vue&type=script&lang=ts&\"\nexport * from \"./index.vue?vue&type=script&lang=ts&\"\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"],"sourceRoot":""}