{"version":3,"sources":["webpack:///./node_modules/quasar/src/components/resize-observer/QResizeObserver.js","webpack:///./node_modules/quasar/src/components/tabs/QTabs.js","webpack:///./node_modules/quasar/src/composables/use-hydration.js","webpack:///./node_modules/quasar/src/components/tabs/QTab.js","webpack:///./node_modules/quasar/src/components/tabs/use-tab.js"],"names":["hasObserver","ResizeObserver","resizeProps","style","url","createComponent","name","props","debounce","type","String","Number","default","emits","setup","emit","__QUASAR_SSR_SERVER__","timer","targetEl","size","width","height","trigger","immediately","emitEvent","setTimeout","clearTimeout","offsetWidth","offsetHeight","proxy","getCurrentInstance","observer","init","stop","$el","parentNode","observe","nextTick","onMounted","onBeforeUnmount","disconnect","unobserve","noop","isHydrated","useHydration","curDocView","cleanup","removeEventListener","listenOpts","passive","onObjLoad","contentDocument","defaultView","addEventListener","value","h","class","tabindex","data","onLoad","getIndicatorClass","color","top","vertical","pos","alignValues","modelValue","align","validator","v","includes","breakpoint","Boolean","shrink","stretch","activeClass","activeColor","activeBgColor","indicatorColor","leftIcon","rightIcon","outsideArrows","mobileArrows","switchIndicator","narrowIndicator","inlineLabel","noCaps","dense","contentClass","Function","Array","slots","$q","registerTick","registerScrollTick","useTick","registerUpdateArrowsTick","registerAnimateTick","registerTimeout","registerFocusTimeout","removeTimeout","removeFocusTimeout","useTimeout","registerScrollToTabTimeout","removeScrollToTabTimeout","rootRef","ref","contentRef","currentModel","scrollable","leftArrow","rightArrow","justify","tabDataList","tabDataListLen","hasFocus","animateTimer","scrollTimer","unwatchRoute","tabProps","computed","indicatorClass","hasActiveTab","len","val","i","alignClass","classes","innerClass","domProps","container","content","scroll","isRTL","lang","rtl","rtlPosCorrection","rtlHasScrollBug","watch","updateArrows","updateModel","setCurrent","skipEmit","recalculateScroll","animate","updateContainer","domSize","scrollSize","Math","min","prototype","reduce","call","children","acc","el","parseInt","oldName","newName","oldTab","find","tab","newTab","oldEl","tabIndicatorRef","newEl","transition","transform","oldPos","getBoundingClientRect","newPos","left","scrollToTabEl","offset","floor","ceil","rect","scrollTop","abs","scrollLeft","scrollWidth","scrollHeight","animScrollTo","clearInterval","setInterval","scrollTowards","stopAnimScroll","scrollToStart","MAX_SAFE_INTEGER","scrollToEnd","onKbdNavigate","keyCode","fromEl","tabs","filter","matches","length","focus","dirPrev","dirNext","dir","rtlDir","index","indexOf","preventScroll","posFn","get","set","done","direction","hasQueryIncluded","targetQuery","matchingQuery","key","updateActiveRoute","bestScore","matchedLen","queryDiff","hrefLen","list","routeData","hasRouterLink","hash","currentHash","query","currentQuery","$route","currentQueryLen","Object","keys","exact","matched","href","resolvedLink","queryLen","newScore","some","onFocusin","e","target","closest","contains","onFocusout","verifyRouteModel","$tabs","avoidRouteWatcher","watchRoute","unwatch","fullPath","registerTab","tabData","push","unregisterTab","splice","every","provide","tabsKey","hadRouteWatcher","onDeactivated","onActivated","role","QResizeObserver","onResize","onScroll","hSlot","QIcon","iconSet","onMousedownPassive","onTouchstartPassive","onMouseupPassive","onMouseleavePassive","onTouchendPassive","isRuntimeSsrPreHydration","useTabProps","useTabEmits","renderTab","useTab","id","icon","label","alert","alertIcon","disable","ripple","inject","emptyRenderFn","console","error","blurTargetRef","assign","keyCodes","early","isActive","linkClass","tabIndex","onClick","keyboard","stopAndPrevent","go","opts","hardError","reqId","to","isDeepEqual","uid","navigateToRouterLink","returnRouterError","catch","err","then","softError","message","startsWith","Promise","reject","defaultPrevented","onKeydown","isKeyCode","shouldIgnoreKey","altKey","metaKey","getContent","narrow","indicator","node","hMergeSlot","tag","customData","withDirectives","Ripple"],"mappings":"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","file":"js/chunk-882048fe.1acbd22c.js","sourcesContent":["import { h, onMounted, onBeforeUnmount, getCurrentInstance, nextTick } from 'vue'\n\nimport useHydration from '../../composables/use-hydration.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { listenOpts, noop } from '../../utils/event.js'\n\nconst hasObserver = typeof ResizeObserver !== 'undefined'\nconst resizeProps = hasObserver === true\n ? {}\n : {\n style: 'display:block;position:absolute;top:0;left:0;right:0;bottom:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1;',\n url: 'about:blank'\n }\n\nexport default createComponent({\n name: 'QResizeObserver',\n\n props: {\n debounce: {\n type: [ String, Number ],\n default: 100\n }\n },\n\n emits: [ 'resize' ],\n\n setup (props, { emit }) {\n if (__QUASAR_SSR_SERVER__) { return noop }\n\n let timer = null, targetEl, size = { width: -1, height: -1 }\n\n function trigger (immediately) {\n if (immediately === true || props.debounce === 0 || props.debounce === '0') {\n emitEvent()\n }\n else if (timer === null) {\n timer = setTimeout(emitEvent, props.debounce)\n }\n }\n\n function emitEvent () {\n if (timer !== null) {\n clearTimeout(timer)\n timer = null\n }\n\n if (targetEl) {\n const { offsetWidth: width, offsetHeight: height } = targetEl\n\n if (width !== size.width || height !== size.height) {\n size = { width, height }\n emit('resize', size)\n }\n }\n }\n\n const { proxy } = getCurrentInstance()\n\n // expose public method\n proxy.trigger = trigger\n\n if (hasObserver === true) {\n let observer\n\n // initialize as soon as possible\n const init = stop => {\n targetEl = proxy.$el.parentNode\n\n if (targetEl) {\n observer = new ResizeObserver(trigger)\n observer.observe(targetEl)\n emitEvent()\n }\n else if (stop !== true) {\n nextTick(() => { init(true) })\n }\n }\n\n onMounted(() => { init() })\n\n onBeforeUnmount(() => {\n timer !== null && clearTimeout(timer)\n\n if (observer !== void 0) {\n if (observer.disconnect !== void 0) {\n observer.disconnect()\n }\n else if (targetEl) { // FF for Android\n observer.unobserve(targetEl)\n }\n }\n })\n\n return noop\n }\n else { // no observer, so fallback to old iframe method\n const { isHydrated } = useHydration()\n\n let curDocView\n\n function cleanup () {\n if (timer !== null) {\n clearTimeout(timer)\n timer = null\n }\n\n if (curDocView !== void 0) {\n // iOS is fuzzy, need to check it first\n if (curDocView.removeEventListener !== void 0) {\n curDocView.removeEventListener('resize', trigger, listenOpts.passive)\n }\n curDocView = void 0\n }\n }\n\n function onObjLoad () {\n cleanup()\n\n if (targetEl && targetEl.contentDocument) {\n curDocView = targetEl.contentDocument.defaultView\n curDocView.addEventListener('resize', trigger, listenOpts.passive)\n emitEvent()\n }\n }\n\n onMounted(() => {\n nextTick(() => {\n targetEl = proxy.$el\n targetEl && onObjLoad()\n })\n })\n\n onBeforeUnmount(cleanup)\n\n return () => {\n if (isHydrated.value === true) {\n return h('object', {\n class: 'q--avoid-card-border',\n style: resizeProps.style,\n tabindex: -1, // fix for Firefox\n type: 'text/html',\n data: resizeProps.url,\n 'aria-hidden': 'true',\n onLoad: onObjLoad\n })\n }\n }\n }\n }\n})\n","import { h, ref, computed, watch, onBeforeUnmount, onActivated, onDeactivated, getCurrentInstance, provide } from 'vue'\n\nimport QIcon from '../icon/QIcon.js'\nimport QResizeObserver from '../resize-observer/QResizeObserver.js'\n\nimport useTick from '../../composables/use-tick.js'\nimport useTimeout from '../../composables/use-timeout.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { hSlot } from '../../utils/private/render.js'\nimport { tabsKey } from '../../utils/private/symbols.js'\nimport { rtlHasScrollBug } from '../../utils/private/rtl.js'\n\nfunction getIndicatorClass (color, top, vertical) {\n const pos = vertical === true\n ? [ 'left', 'right' ]\n : [ 'top', 'bottom' ]\n\n return `absolute-${ top === true ? pos[ 0 ] : pos[ 1 ] }${ color ? ` text-${ color }` : '' }`\n}\n\nconst alignValues = [ 'left', 'center', 'right', 'justify' ]\n\nexport default createComponent({\n name: 'QTabs',\n\n props: {\n modelValue: [ Number, String ],\n\n align: {\n type: String,\n default: 'center',\n validator: v => alignValues.includes(v)\n },\n breakpoint: {\n type: [ String, Number ],\n default: 600\n },\n\n vertical: Boolean,\n shrink: Boolean,\n stretch: Boolean,\n\n activeClass: String,\n activeColor: String,\n activeBgColor: String,\n indicatorColor: String,\n leftIcon: String,\n rightIcon: String,\n\n outsideArrows: Boolean,\n mobileArrows: Boolean,\n\n switchIndicator: Boolean,\n\n narrowIndicator: Boolean,\n inlineLabel: Boolean,\n noCaps: Boolean,\n\n dense: Boolean,\n\n contentClass: String,\n\n 'onUpdate:modelValue': [ Function, Array ]\n },\n\n setup (props, { slots, emit }) {\n const { proxy } = getCurrentInstance()\n const { $q } = proxy\n\n const { registerTick: registerScrollTick } = useTick()\n const { registerTick: registerUpdateArrowsTick } = useTick()\n const { registerTick: registerAnimateTick } = useTick()\n\n const { registerTimeout: registerFocusTimeout, removeTimeout: removeFocusTimeout } = useTimeout()\n const { registerTimeout: registerScrollToTabTimeout, removeTimeout: removeScrollToTabTimeout } = useTimeout()\n\n const rootRef = ref(null)\n const contentRef = ref(null)\n\n const currentModel = ref(props.modelValue)\n const scrollable = ref(false)\n const leftArrow = ref(true)\n const rightArrow = ref(false)\n const justify = ref(false)\n\n const tabDataList = []\n const tabDataListLen = ref(0)\n const hasFocus = ref(false)\n\n let animateTimer = null, scrollTimer = null, unwatchRoute\n\n const tabProps = computed(() => ({\n activeClass: props.activeClass,\n activeColor: props.activeColor,\n activeBgColor: props.activeBgColor,\n indicatorClass: getIndicatorClass(\n props.indicatorColor,\n props.switchIndicator,\n props.vertical\n ),\n narrowIndicator: props.narrowIndicator,\n inlineLabel: props.inlineLabel,\n noCaps: props.noCaps\n }))\n\n const hasActiveTab = computed(() => {\n const len = tabDataListLen.value\n const val = currentModel.value\n\n for (let i = 0; i < len; i++) {\n if (tabDataList[ i ].name.value === val) {\n return true\n }\n }\n\n return false\n })\n\n const alignClass = computed(() => {\n const align = scrollable.value === true\n ? 'left'\n : (justify.value === true ? 'justify' : props.align)\n\n return `q-tabs__content--align-${ align }`\n })\n\n const classes = computed(() =>\n 'q-tabs row no-wrap items-center'\n + ` q-tabs--${ scrollable.value === true ? '' : 'not-' }scrollable`\n + ` q-tabs--${ props.vertical === true ? 'vertical' : 'horizontal' }`\n + ` q-tabs__arrows--${ props.outsideArrows === true ? 'outside' : 'inside' }`\n + ` q-tabs--mobile-with${ props.mobileArrows === true ? '' : 'out' }-arrows`\n + (props.dense === true ? ' q-tabs--dense' : '')\n + (props.shrink === true ? ' col-shrink' : '')\n + (props.stretch === true ? ' self-stretch' : '')\n )\n\n const innerClass = computed(() =>\n 'q-tabs__content scroll--mobile row no-wrap items-center self-stretch hide-scrollbar relative-position '\n + alignClass.value\n + (props.contentClass !== void 0 ? ` ${ props.contentClass }` : '')\n )\n\n const domProps = computed(() => (\n props.vertical === true\n ? { container: 'height', content: 'offsetHeight', scroll: 'scrollHeight' }\n : { container: 'width', content: 'offsetWidth', scroll: 'scrollWidth' }\n ))\n\n const isRTL = computed(() => props.vertical !== true && $q.lang.rtl === true)\n const rtlPosCorrection = computed(() => rtlHasScrollBug === false && isRTL.value === true)\n\n watch(isRTL, updateArrows)\n\n watch(() => props.modelValue, name => {\n updateModel({ name, setCurrent: true, skipEmit: true })\n })\n\n watch(() => props.outsideArrows, recalculateScroll)\n\n function updateModel ({ name, setCurrent, skipEmit }) {\n if (currentModel.value !== name) {\n if (skipEmit !== true && props[ 'onUpdate:modelValue' ] !== void 0) {\n emit('update:modelValue', name)\n }\n\n if (\n setCurrent === true\n || props[ 'onUpdate:modelValue' ] === void 0\n ) {\n animate(currentModel.value, name)\n currentModel.value = name\n }\n }\n }\n\n function recalculateScroll () {\n registerScrollTick(() => {\n updateContainer({\n width: rootRef.value.offsetWidth,\n height: rootRef.value.offsetHeight\n })\n })\n }\n\n function updateContainer (domSize) {\n // it can be called faster than component being initialized\n // so we need to protect against that case\n // (one example of such case is the docs release notes page)\n if (domProps.value === void 0 || contentRef.value === null) return\n\n const\n size = domSize[ domProps.value.container ],\n scrollSize = Math.min(\n contentRef.value[ domProps.value.scroll ],\n Array.prototype.reduce.call(\n contentRef.value.children,\n (acc, el) => acc + (el[ domProps.value.content ] || 0),\n 0\n )\n ),\n scroll = size > 0 && scrollSize > size // when there is no tab, in Chrome, size === 0 and scrollSize === 1\n\n scrollable.value = scroll\n\n // Arrows need to be updated even if the scroll status was already true\n scroll === true && registerUpdateArrowsTick(updateArrows)\n\n justify.value = size < parseInt(props.breakpoint, 10)\n }\n\n function animate (oldName, newName) {\n const\n oldTab = oldName !== void 0 && oldName !== null && oldName !== ''\n ? tabDataList.find(tab => tab.name.value === oldName)\n : null,\n newTab = newName !== void 0 && newName !== null && newName !== ''\n ? tabDataList.find(tab => tab.name.value === newName)\n : null\n\n if (oldTab && newTab) {\n const\n oldEl = oldTab.tabIndicatorRef.value,\n newEl = newTab.tabIndicatorRef.value\n\n if (animateTimer !== null) {\n clearTimeout(animateTimer)\n animateTimer = null\n }\n\n oldEl.style.transition = 'none'\n oldEl.style.transform = 'none'\n newEl.style.transition = 'none'\n newEl.style.transform = 'none'\n\n const\n oldPos = oldEl.getBoundingClientRect(),\n newPos = newEl.getBoundingClientRect()\n\n newEl.style.transform = props.vertical === true\n ? `translate3d(0,${ oldPos.top - newPos.top }px,0) scale3d(1,${ newPos.height ? oldPos.height / newPos.height : 1 },1)`\n : `translate3d(${ oldPos.left - newPos.left }px,0,0) scale3d(${ newPos.width ? oldPos.width / newPos.width : 1 },1,1)`\n\n // allow scope updates to kick in (QRouteTab needs more time)\n registerAnimateTick(() => {\n animateTimer = setTimeout(() => {\n animateTimer = null\n newEl.style.transition = 'transform .25s cubic-bezier(.4, 0, .2, 1)'\n newEl.style.transform = 'none'\n }, 70)\n })\n }\n\n if (newTab && scrollable.value === true) {\n scrollToTabEl(newTab.rootRef.value)\n }\n }\n\n function scrollToTabEl (el) {\n const\n { left, width, top, height } = contentRef.value.getBoundingClientRect(),\n newPos = el.getBoundingClientRect()\n\n let offset = props.vertical === true ? newPos.top - top : newPos.left - left\n\n if (offset < 0) {\n contentRef.value[ props.vertical === true ? 'scrollTop' : 'scrollLeft' ] += Math.floor(offset)\n updateArrows()\n return\n }\n\n offset += props.vertical === true ? newPos.height - height : newPos.width - width\n if (offset > 0) {\n contentRef.value[ props.vertical === true ? 'scrollTop' : 'scrollLeft' ] += Math.ceil(offset)\n updateArrows()\n }\n }\n\n function updateArrows () {\n const content = contentRef.value\n if (content === null) return\n\n const\n rect = content.getBoundingClientRect(),\n pos = props.vertical === true ? content.scrollTop : Math.abs(content.scrollLeft)\n\n if (isRTL.value === true) {\n leftArrow.value = Math.ceil(pos + rect.width) < content.scrollWidth - 1\n rightArrow.value = pos > 0\n }\n else {\n leftArrow.value = pos > 0\n rightArrow.value = props.vertical === true\n ? Math.ceil(pos + rect.height) < content.scrollHeight\n : Math.ceil(pos + rect.width) < content.scrollWidth\n }\n }\n\n function animScrollTo (value) {\n scrollTimer !== null && clearInterval(scrollTimer)\n scrollTimer = setInterval(() => {\n if (scrollTowards(value) === true) {\n stopAnimScroll()\n }\n }, 5)\n }\n\n function scrollToStart () {\n animScrollTo(rtlPosCorrection.value === true ? Number.MAX_SAFE_INTEGER : 0)\n }\n\n function scrollToEnd () {\n animScrollTo(rtlPosCorrection.value === true ? 0 : Number.MAX_SAFE_INTEGER)\n }\n\n function stopAnimScroll () {\n if (scrollTimer !== null) {\n clearInterval(scrollTimer)\n scrollTimer = null\n }\n }\n\n function onKbdNavigate (keyCode, fromEl) {\n const tabs = Array.prototype.filter.call(\n contentRef.value.children,\n el => el === fromEl || (el.matches && el.matches('.q-tab.q-focusable') === true)\n )\n\n const len = tabs.length\n if (len === 0) return\n\n if (keyCode === 36) { // Home\n scrollToTabEl(tabs[ 0 ])\n tabs[ 0 ].focus()\n return true\n }\n if (keyCode === 35) { // End\n scrollToTabEl(tabs[ len - 1 ])\n tabs[ len - 1 ].focus()\n return true\n }\n\n const dirPrev = keyCode === (props.vertical === true ? 38 /* ArrowUp */ : 37 /* ArrowLeft */)\n const dirNext = keyCode === (props.vertical === true ? 40 /* ArrowDown */ : 39 /* ArrowRight */)\n\n const dir = dirPrev === true ? -1 : (dirNext === true ? 1 : void 0)\n\n if (dir !== void 0) {\n const rtlDir = isRTL.value === true ? -1 : 1\n const index = tabs.indexOf(fromEl) + dir * rtlDir\n\n if (index >= 0 && index < len) {\n scrollToTabEl(tabs[ index ])\n tabs[ index ].focus({ preventScroll: true })\n }\n\n return true\n }\n }\n\n // let's speed up execution of time-sensitive scrollTowards()\n // with a computed variable by directly applying the minimal\n // number of instructions on get/set functions\n const posFn = computed(() => (\n rtlPosCorrection.value === true\n ? { get: content => Math.abs(content.scrollLeft), set: (content, pos) => { content.scrollLeft = -pos } }\n : (\n props.vertical === true\n ? { get: content => content.scrollTop, set: (content, pos) => { content.scrollTop = pos } }\n : { get: content => content.scrollLeft, set: (content, pos) => { content.scrollLeft = pos } }\n )\n ))\n\n function scrollTowards (value) {\n const\n content = contentRef.value,\n { get, set } = posFn.value\n\n let\n done = false,\n pos = get(content)\n\n const direction = value < pos ? -1 : 1\n\n pos += direction * 5\n\n if (pos < 0) {\n done = true\n pos = 0\n }\n else if (\n (direction === -1 && pos <= value)\n || (direction === 1 && pos >= value)\n ) {\n done = true\n pos = value\n }\n\n set(content, pos)\n updateArrows()\n\n return done\n }\n\n function hasQueryIncluded (targetQuery, matchingQuery) {\n for (const key in targetQuery) {\n if (targetQuery[ key ] !== matchingQuery[ key ]) {\n return false\n }\n }\n\n return true\n }\n\n // do not use directly; use verifyRouteModel() instead\n function updateActiveRoute () {\n let name = null, bestScore = { matchedLen: 0, queryDiff: 9999, hrefLen: 0 }\n\n const list = tabDataList.filter(tab => tab.routeData !== void 0 && tab.routeData.hasRouterLink.value === true)\n const { hash: currentHash, query: currentQuery } = proxy.$route\n const currentQueryLen = Object.keys(currentQuery).length\n\n // Vue Router does not keep account of hash & query when matching\n // so we're doing this as well\n\n for (const tab of list) {\n const exact = tab.routeData.exact.value === true\n\n if (tab.routeData[ exact === true ? 'linkIsExactActive' : 'linkIsActive' ].value !== true) {\n // it cannot match anything as it's not active nor exact-active\n continue\n }\n\n const { hash, query, matched, href } = tab.routeData.resolvedLink.value\n const queryLen = Object.keys(query).length\n\n if (exact === true) {\n if (hash !== currentHash) {\n // it's set to exact but it doesn't matches the hash\n continue\n }\n\n if (\n queryLen !== currentQueryLen\n || hasQueryIncluded(currentQuery, query) === false\n ) {\n // it's set to exact but it doesn't matches the query\n continue\n }\n\n // yey, we found the perfect match (route + hash + query)\n name = tab.name.value\n break\n }\n\n if (hash !== '' && hash !== currentHash) {\n // it has hash and it doesn't matches\n continue\n }\n\n if (\n queryLen !== 0\n && hasQueryIncluded(query, currentQuery) === false\n ) {\n // it has query and it doesn't includes the current one\n continue\n }\n\n const newScore = {\n matchedLen: matched.length,\n queryDiff: currentQueryLen - queryLen,\n hrefLen: href.length - hash.length\n }\n\n if (newScore.matchedLen > bestScore.matchedLen) {\n // it matches more routes so it's more specific so we set it as current champion\n name = tab.name.value\n bestScore = newScore\n continue\n }\n else if (newScore.matchedLen !== bestScore.matchedLen) {\n // it matches less routes than the current champion so we discard it\n continue\n }\n\n if (newScore.queryDiff < bestScore.queryDiff) {\n // query is closer to the current one so we set it as current champion\n name = tab.name.value\n bestScore = newScore\n }\n else if (newScore.queryDiff !== bestScore.queryDiff) {\n // it matches less routes than the current champion so we discard it\n continue\n }\n\n if (newScore.hrefLen > bestScore.hrefLen) {\n // href is lengthier so it's more specific so we set it as current champion\n name = tab.name.value\n bestScore = newScore\n }\n }\n\n if (\n name === null\n && tabDataList.some(tab => tab.routeData === void 0 && tab.name.value === currentModel.value) === true\n ) {\n // we shouldn't interfere if non-route tab is active\n return\n }\n\n updateModel({ name, setCurrent: true })\n }\n\n function onFocusin (e) {\n removeFocusTimeout()\n\n if (\n hasFocus.value !== true\n && rootRef.value !== null\n && e.target\n && typeof e.target.closest === 'function'\n ) {\n const tab = e.target.closest('.q-tab')\n\n // if the target is contained by a QTab/QRouteTab\n // (it might be other elements focused, like additional QBtn)\n if (tab && rootRef.value.contains(tab) === true) {\n hasFocus.value = true\n scrollable.value === true && scrollToTabEl(tab)\n }\n }\n }\n\n function onFocusout () {\n registerFocusTimeout(() => { hasFocus.value = false }, 30)\n }\n\n function verifyRouteModel () {\n if ($tabs.avoidRouteWatcher === false) {\n registerScrollToTabTimeout(updateActiveRoute)\n }\n else {\n removeScrollToTabTimeout()\n }\n }\n\n function watchRoute () {\n if (unwatchRoute === void 0) {\n const unwatch = watch(() => proxy.$route.fullPath, verifyRouteModel)\n unwatchRoute = () => {\n unwatch()\n unwatchRoute = void 0\n }\n }\n }\n\n function registerTab (tabData) {\n tabDataList.push(tabData)\n tabDataListLen.value++\n\n recalculateScroll()\n\n // if it's a QTab or we don't have Vue Router\n if (tabData.routeData === void 0 || proxy.$route === void 0) {\n // we should position to the currently active tab (if any)\n registerScrollToTabTimeout(() => {\n if (scrollable.value === true) {\n const value = currentModel.value\n const newTab = value !== void 0 && value !== null && value !== ''\n ? tabDataList.find(tab => tab.name.value === value)\n : null\n\n newTab && scrollToTabEl(newTab.rootRef.value)\n }\n })\n }\n // else if it's a QRouteTab with a valid link\n else {\n // start watching route\n watchRoute()\n\n if (tabData.routeData.hasRouterLink.value === true) {\n verifyRouteModel()\n }\n }\n }\n\n function unregisterTab (tabData) {\n tabDataList.splice(tabDataList.indexOf(tabData), 1)\n tabDataListLen.value--\n\n recalculateScroll()\n\n if (unwatchRoute !== void 0 && tabData.routeData !== void 0) {\n // unwatch route if we don't have any QRouteTabs left\n if (tabDataList.every(tab => tab.routeData === void 0) === true) {\n unwatchRoute()\n }\n\n // then update model\n verifyRouteModel()\n }\n }\n\n const $tabs = {\n currentModel,\n tabProps,\n hasFocus,\n hasActiveTab,\n\n registerTab,\n unregisterTab,\n\n verifyRouteModel,\n updateModel,\n onKbdNavigate,\n\n avoidRouteWatcher: false // false | string (uid)\n }\n\n provide(tabsKey, $tabs)\n\n function cleanup () {\n animateTimer !== null && clearTimeout(animateTimer)\n stopAnimScroll()\n unwatchRoute !== void 0 && unwatchRoute()\n }\n\n let hadRouteWatcher\n\n onBeforeUnmount(cleanup)\n\n onDeactivated(() => {\n hadRouteWatcher = unwatchRoute !== void 0\n cleanup()\n })\n\n onActivated(() => {\n hadRouteWatcher === true && watchRoute()\n recalculateScroll()\n })\n\n return () => {\n return h('div', {\n ref: rootRef,\n class: classes.value,\n role: 'tablist',\n onFocusin,\n onFocusout\n }, [\n h(QResizeObserver, { onResize: updateContainer }),\n\n h('div', {\n ref: contentRef,\n class: innerClass.value,\n onScroll: updateArrows\n }, hSlot(slots.default)),\n\n h(QIcon, {\n class: 'q-tabs__arrow q-tabs__arrow--left absolute q-tab__icon'\n + (leftArrow.value === true ? '' : ' q-tabs__arrow--faded'),\n name: props.leftIcon || $q.iconSet.tabs[ props.vertical === true ? 'up' : 'left' ],\n onMousedownPassive: scrollToStart,\n onTouchstartPassive: scrollToStart,\n onMouseupPassive: stopAnimScroll,\n onMouseleavePassive: stopAnimScroll,\n onTouchendPassive: stopAnimScroll\n }),\n\n h(QIcon, {\n class: 'q-tabs__arrow q-tabs__arrow--right absolute q-tab__icon'\n + (rightArrow.value === true ? '' : ' q-tabs__arrow--faded'),\n name: props.rightIcon || $q.iconSet.tabs[ props.vertical === true ? 'down' : 'right' ],\n onMousedownPassive: scrollToEnd,\n onTouchstartPassive: scrollToEnd,\n onMouseupPassive: stopAnimScroll,\n onMouseleavePassive: stopAnimScroll,\n onTouchendPassive: stopAnimScroll\n })\n ])\n }\n }\n})\n","import { ref, onMounted } from 'vue'\n\n// using it to manage SSR rendering with best performance\nimport { isRuntimeSsrPreHydration } from '../plugins/platform/Platform.js'\n\nexport default function () {\n const isHydrated = ref(!isRuntimeSsrPreHydration.value)\n\n if (isHydrated.value === false) {\n onMounted(() => {\n isHydrated.value = true\n })\n }\n\n return { isHydrated }\n}\n","import useTab, { useTabProps, useTabEmits } from './use-tab.js'\n\nimport { createComponent } from '../../utils/private/create.js'\n\nexport default createComponent({\n name: 'QTab',\n\n props: useTabProps,\n\n emits: useTabEmits,\n\n setup (props, { slots, emit }) {\n const { renderTab } = useTab(props, slots, emit)\n return () => renderTab('div')\n }\n})\n","import { h, ref, computed, inject, onBeforeUnmount, onMounted, withDirectives, getCurrentInstance } from 'vue'\n\nimport QIcon from '../icon/QIcon.js'\n\nimport Ripple from '../../directives/ripple/Ripple.js'\n\nimport { hMergeSlot } from '../../utils/private/render.js'\nimport { isKeyCode, shouldIgnoreKey } from '../../utils/private/key-composition.js'\nimport { tabsKey, emptyRenderFn } from '../../utils/private/symbols.js'\nimport { stopAndPrevent } from '../../utils/event.js'\nimport uid from '../../utils/uid.js'\nimport { isDeepEqual } from '../../utils/is.js'\n\nlet id = 0\n\nexport const useTabEmits = [ 'click', 'keydown' ]\n\nexport const useTabProps = {\n icon: String,\n label: [ Number, String ],\n\n alert: [ Boolean, String ],\n alertIcon: String,\n\n name: {\n type: [ Number, String ],\n default: () => `t_${ id++ }`\n },\n\n noCaps: Boolean,\n\n tabindex: [ String, Number ],\n disable: Boolean,\n\n contentClass: String,\n\n ripple: {\n type: [ Boolean, Object ],\n default: true\n }\n}\n\nexport default function (props, slots, emit, routeData) {\n const $tabs = inject(tabsKey, emptyRenderFn)\n if ($tabs === emptyRenderFn) {\n console.error('QTab/QRouteTab component needs to be child of QTabs')\n return emptyRenderFn\n }\n\n const { proxy } = getCurrentInstance()\n\n const blurTargetRef = ref(null)\n const rootRef = ref(null)\n const tabIndicatorRef = ref(null)\n\n const ripple = computed(() => (\n props.disable === true || props.ripple === false\n ? false\n : Object.assign(\n { keyCodes: [ 13, 32 ], early: true },\n props.ripple === true ? {} : props.ripple\n )\n ))\n\n const isActive = computed(() => $tabs.currentModel.value === props.name)\n\n const classes = computed(() =>\n 'q-tab relative-position self-stretch flex flex-center text-center'\n + (\n isActive.value === true\n ? (\n ' q-tab--active'\n + ($tabs.tabProps.value.activeClass ? ' ' + $tabs.tabProps.value.activeClass : '')\n + ($tabs.tabProps.value.activeColor ? ` text-${ $tabs.tabProps.value.activeColor }` : '')\n + ($tabs.tabProps.value.activeBgColor ? ` bg-${ $tabs.tabProps.value.activeBgColor }` : '')\n )\n : ' q-tab--inactive'\n )\n + (props.icon && props.label && $tabs.tabProps.value.inlineLabel === false ? ' q-tab--full' : '')\n + (props.noCaps === true || $tabs.tabProps.value.noCaps === true ? ' q-tab--no-caps' : '')\n + (props.disable === true ? ' disabled' : ' q-focusable q-hoverable cursor-pointer')\n + (routeData !== void 0 ? routeData.linkClass.value : '')\n )\n\n const innerClass = computed(() =>\n 'q-tab__content self-stretch flex-center relative-position q-anchor--skip non-selectable '\n + ($tabs.tabProps.value.inlineLabel === true ? 'row no-wrap q-tab__content--inline' : 'column')\n + (props.contentClass !== void 0 ? ` ${ props.contentClass }` : '')\n )\n\n const tabIndex = computed(() => (\n (\n props.disable === true\n || $tabs.hasFocus.value === true\n || (isActive.value === false && $tabs.hasActiveTab.value === true)\n )\n ? -1\n : props.tabindex || 0\n ))\n\n function onClick (e, keyboard) {\n if (keyboard !== true && blurTargetRef.value !== null) {\n blurTargetRef.value.focus()\n }\n\n if (props.disable === true) {\n // we should hinder native navigation though\n if (routeData !== void 0 && routeData.hasRouterLink.value === true) {\n stopAndPrevent(e)\n }\n return\n }\n\n // do we have a QTab?\n if (routeData === void 0) {\n $tabs.updateModel({ name: props.name })\n emit('click', e)\n return\n }\n\n if (routeData.hasRouterLink.value === true) {\n const go = (opts = {}) => {\n // if requiring to go to another route, then we\n // let the QTabs route watcher do its job,\n // otherwise directly select this\n let hardError\n const reqId = opts.to === void 0 || isDeepEqual(opts.to, props.to) === true\n ? ($tabs.avoidRouteWatcher = uid())\n : null\n\n return routeData.navigateToRouterLink(e, { ...opts, returnRouterError: true })\n .catch(err => { hardError = err })\n .then(softError => {\n if (reqId === $tabs.avoidRouteWatcher) {\n $tabs.avoidRouteWatcher = false\n\n // if we don't have any hard errors or any soft errors, except for\n // when navigating to the same route (on all other soft errors,\n // like when navigation was aborted in a nav guard, we don't activate this tab)\n if (\n hardError === void 0 && (\n softError === void 0\n || (softError.message !== void 0 && softError.message.startsWith('Avoided redundant navigation') === true)\n )\n ) {\n $tabs.updateModel({ name: props.name })\n }\n }\n\n if (opts.returnRouterError === true) {\n return hardError !== void 0 ? Promise.reject(hardError) : softError\n }\n })\n }\n\n emit('click', e, go)\n e.defaultPrevented !== true && go()\n\n return\n }\n\n emit('click', e)\n }\n\n function onKeydown (e) {\n if (isKeyCode(e, [ 13, 32 ])) {\n onClick(e, true)\n }\n else if (\n shouldIgnoreKey(e) !== true\n && e.keyCode >= 35\n && e.keyCode <= 40\n && e.altKey !== true\n && e.metaKey !== true\n ) {\n $tabs.onKbdNavigate(e.keyCode, proxy.$el) === true && stopAndPrevent(e)\n }\n\n emit('keydown', e)\n }\n\n function getContent () {\n const\n narrow = $tabs.tabProps.value.narrowIndicator,\n content = [],\n indicator = h('div', {\n ref: tabIndicatorRef,\n class: [\n 'q-tab__indicator',\n $tabs.tabProps.value.indicatorClass\n ]\n })\n\n props.icon !== void 0 && content.push(\n h(QIcon, {\n class: 'q-tab__icon',\n name: props.icon\n })\n )\n\n props.label !== void 0 && content.push(\n h('div', { class: 'q-tab__label' }, props.label)\n )\n\n props.alert !== false && content.push(\n props.alertIcon !== void 0\n ? h(QIcon, {\n class: 'q-tab__alert-icon',\n color: props.alert !== true\n ? props.alert\n : void 0,\n name: props.alertIcon\n })\n : h('div', {\n class: 'q-tab__alert'\n + (props.alert !== true ? ` text-${ props.alert }` : '')\n })\n )\n\n narrow === true && content.push(indicator)\n\n const node = [\n h('div', { class: 'q-focus-helper', tabindex: -1, ref: blurTargetRef }),\n h('div', { class: innerClass.value }, hMergeSlot(slots.default, content))\n ]\n\n narrow === false && node.push(indicator)\n\n return node\n }\n\n const tabData = {\n name: computed(() => props.name),\n rootRef,\n tabIndicatorRef,\n routeData\n }\n\n onBeforeUnmount(() => {\n $tabs.unregisterTab(tabData)\n })\n\n onMounted(() => {\n $tabs.registerTab(tabData)\n })\n\n function renderTab (tag, customData) {\n const data = {\n ref: rootRef,\n class: classes.value,\n tabindex: tabIndex.value,\n role: 'tab',\n 'aria-selected': isActive.value === true ? 'true' : 'false',\n 'aria-disabled': props.disable === true ? 'true' : void 0,\n onClick,\n onKeydown,\n ...customData\n }\n\n return withDirectives(\n h(tag, data, getContent()),\n [ [ Ripple, ripple.value ] ]\n )\n }\n\n return { renderTab, $tabs }\n}\n"],"sourceRoot":""}