{"version":3,"file":"tab.vue2.mjs","sources":["../../../../../../packages/components/tab/src/tab.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToTab'\n});\n</script>\n<template>\n\t<div :key=\"langKey\" class=\"to-tab\" :class=\"setClass\" :flex=\"flex ? flex : null\" :style=\"setStyle\">\n\t\t<div class=\"to-tab-tab\">\n\t\t\t<div v-if=\"props.title || $slots.title\" class=\"to-tab-title\">\n\t\t\t\t<div class=\"to-tab-title-text\">\n\t\t\t\t\t<slot name=\"title\">{{ title }}</slot>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div ref=\"list\" class=\"to-tab-list\" @scroll=\"handleListScroll\">\n\t\t\t\t<div ref=\"ul\" class=\"to-tab-wrapper\">\n\t\t\t\t\t<template v-for=\"(item, index) in _data\" :key=\"index\">\n\t\t\t\t\t\t<div v-if=\"$slots.center && Math.floor(_data.length / 2) === index\">\n\t\t\t\t\t\t\t<slot name=\"center\"></slot>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div v-else class=\"to-tab-item\" :data-tab-index=\"index\" :class=\"{ 'is-on': item.value === selectValue, 'is-disabled': item.disabled }\" :style=\"setTabStyle\" @click=\"changeTab(item, index, 'click')\" @mouseover=\"changeTab(item, index, 'hover')\" @contextmenu=\"contextmenu(item, index)\">\n\t\t\t\t\t\t\t<slot name=\"item\" :item=\"item\" :index=\"index\">\n\t\t\t\t\t\t\t\t<div class=\"to-tab-item-main\">\n\t\t\t\t\t\t\t\t\t<div class=\"to-tab-item-left\"></div>\n\t\t\t\t\t\t\t\t\t<div class=\"to-tab-item-content\">\n\t\t\t\t\t\t\t\t\t\t<to-pic v-if=\"item.pic\" class=\"to-tab-item-pic\" :src=\"item.value === selectValue ? getPicOn(item.pic) : item.pic\"></to-pic>\n\t\t\t\t\t\t\t\t\t\t<to-icon v-if=\"item.icon\" :value=\"item.icon\" class=\"to-tab-item-icon\" :type=\"item.value === selectValue ? 'fill' : ''\" mode=\"tab-icon\"></to-icon>\n\t\t\t\t\t\t\t\t\t\t<div class=\"to-tab-item-label\">\n\t\t\t\t\t\t\t\t\t\t\t<slot name=\"label\" v-bind=\"item\">\n\t\t\t\t\t\t\t\t\t\t\t\t{{ item.label }}\n\t\t\t\t\t\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<to-tag v-if=\"item.count\" type=\"number\" class=\"to-tab-item-count\">{{ item.count }}</to-tag>\n\t\t\t\t\t\t\t\t\t\t<to-icon v-if=\"removable\" value=\"close\" link class=\"to-tab-item-remove\" @click.stop=\"removePTab(item, index)\"></to-icon>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class=\"to-tab-item-right\"></div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"to-tab-indicator\"></div>\n\t\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\t\t\t\t</div>\n\t\t\t\t<div v-if=\"tabScrollShow\" ref=\"tabScrollRef\" class=\"to-tab-list-scroll\" :class=\"{ 'is-dragging': tabScrollDragging }\" :style=\"tabScrollStyle\" @mousedown=\"startTabScrollDrag\">\n\t\t\t\t\t<div class=\"to-tab-list-scroll-bar\"></div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div v-if=\"controlShow || overflowFloatShow || slot.fn\" class=\"to-tab-fn\">\n\t\t\t\t<to-icon v-if=\"over === 'control' && controlShow\" class=\"to-tab-fn-item\" link value=\"back\" @mousedown=\"controlLeftScroll\" @mouseup=\"scrollStop\" @mouseleave=\"scrollStop\"></to-icon>\n\t\t\t\t<to-icon v-if=\"over === 'control' && controlShow\" class=\"to-tab-fn-item\" link value=\"next\" @mousedown=\"controlRightScroll\" @mouseup=\"scrollStop\" @mouseleave=\"scrollStop\"></to-icon>\n\t\t\t\t<slot name=\"fn\"></slot>\n\t\t\t\t<to-icon v-if=\"overflowFloatShow\" ref=\"overflowIconRef\" value=\"more\" link @click=\"toggleOverflowFloat\"></to-icon>\n\t\t\t\t<Teleport v-if=\"overflowFloatShow\" to=\"body\">\n\t\t\t\t\t<div class=\"to-tab\">\n\t\t\t\t\t\t<to-float ref=\"overflowFloatRef\" align=\"right\" :global=\"false\" class=\"to-tab-over-float\" :lazy=\"false\" width=\"12\">\n\t\t\t\t\t\t\t<to-scroll class=\"to-tab-over-scroll\">\n\t\t\t\t\t\t\t\t<div class=\"to-tab-over-list\">\n\t\t\t\t\t\t\t\t\t<div v-for=\"tab in overflowTabs\" :key=\"tab.index\" class=\"to-tab-over-item\" :class=\"{ 'is-on': tab.item.value === selectValue, 'is-disabled': tab.item.disabled }\" @click=\"changeOverflowTab(tab)\" @contextmenu=\"contextmenu(tab.item, tab.index)\">\n\t\t\t\t\t\t\t\t\t\t<to-pic v-if=\"tab.item.pic\" class=\"to-tab-over-item-pic\" :src=\"tab.item.value === selectValue ? getPicOn(tab.item.pic) : tab.item.pic\"></to-pic>\n\t\t\t\t\t\t\t\t\t\t<to-icon v-if=\"tab.item.icon\" :value=\"tab.item.icon\" class=\"to-tab-over-item-icon\" :type=\"tab.item.value === selectValue ? 'fill' : ''\" mode=\"tab-icon\"></to-icon>\n\t\t\t\t\t\t\t\t\t\t<div class=\"to-tab-over-item-label\">\n\t\t\t\t\t\t\t\t\t\t\t<slot name=\"label\" v-bind=\"tab.item\">\n\t\t\t\t\t\t\t\t\t\t\t\t{{ tab.item.label }}\n\t\t\t\t\t\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<to-icon v-if=\"removable\" value=\"close\" link class=\"to-tab-over-item-remove\" @click.stop=\"removeOverflowTab(tab)\"></to-icon>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</to-scroll>\n\t\t\t\t\t\t</to-float>\n\t\t\t\t\t</div>\n\t\t\t\t</Teleport>\n\t\t\t</div>\n\t\t\t<div class=\"to-tab-divider\"></div>\n\t\t</div>\n\t\t<to-float v-if=\"contentType === 'float'\" ref=\"floatRef\" :lazy=\"false\">\n\t\t\t<slot></slot>\n\t\t</to-float>\n\t\t<div v-else class=\"to-tab-page\">\n\t\t\t<slot></slot>\n\t\t</div>\n\t</div>\n</template>\n<script setup lang=\"ts\">\nimport { ref, computed, CSSProperties, provide, Ref, onMounted, onBeforeUnmount, watch, nextTick, useSlots } from 'vue'\nimport { ToFloat, ToIcon } from '@touchvue/components'\nimport { useDevice } from '@touchvue/hooks'\nimport { langKey } from '@touchvue/locale'\n\n\nconst emit = defineEmits(['update:modelValue', 'change', 'remove', 'contextmenu'])\n\nexport interface TabItem {\n\tlabel: string\n\tvalue: string | number\n\t[key: string]: any\n}\n\ninterface OverflowTab {\n\titem: TabItem\n\tindex: number\n}\n\nexport interface TabProps {\n\tflex?: boolean\n\tmodelValue?: string | number\n\titemWidth?: string | number\n\tmode?: string\n\tdata?: TabItem[] | string\n\tremovable?: boolean\n\tposition?: 'left' | 'right' | 'bottom' | 'top' | ''\n\titemDir?: 'v' | ''\n\tover?: 'float' | 'wrap' | 'control' | 'avg' | ''\n\tevent?: string\n\tcontentType?: string\n\ttitle?: string\n\theight?: string | number\n\tchangePic?: boolean\n\talign?: 'center' | ''\n\tbeforeChange?: () => boolean | Promise<boolean>\n\tbeforeRemove?: () => boolean | Promise<boolean>\n}\n\nexport interface ITabProvide {\n\taddTab: (item: TabItem) => void\n\tremoveTab: (val: string | number) => void\n\tupdateTabLabel: (val: string | number, label: string) => void\n\tselectValue: Ref<string, string>\n}\n\nconst props = withDefaults(defineProps<TabProps>(), {\n\tmodelValue: '',\n\titemWidth: '',\n\tmode: 'default',\n\tover: '',\n\titemDir: '',\n\tevent: 'click',\n\tremovable: false,\n\tdata: () => [] as TabItem[],\n\tcontentType: '',\n\ttitle: '',\n\theight: '',\n\tbeforeChange: null,\n\tbeforeRemove: null,\n\tchangePic: false,\n\tposition: '',\n\talign: '',\n\tflex: false\n})\n\nconst selectValue: any = ref('')\nconst _data = ref<TabItem[]>([])\nconst floatRef = ref<any>(null)\nconst overflowFloatRef = ref<any>(null)\nconst overflowIconRef = ref<any>(null)\nconst overflowTabs = ref<OverflowTab[]>([])\nconst overflowFloatShow = computed(() => props.over === 'float' && overflowTabs.value.length > 0)\nconst ul = ref<HTMLElement | null>(null)\nconst list = ref<HTMLElement | null>(null)\nconst tabScrollRef = ref<HTMLElement | null>(null)\nconst tabScrollWidth = ref(0)\nconst tabScrollLeft = ref(0)\nconst tabScrollable = ref(false)\nconst tabScrollDragging = ref(false)\nconst activeOver = ref<TabProps['over']>('')\nlet scrollTimer: ReturnType<typeof setInterval> | null = null\nconst controlShow = ref(false)\nlet stopChange = false\nlet activeOverVersion = 0\nconst slot = useSlots()\nconst { isPc } = useDevice()\nconst tabScrollShow = computed(() => isPc.value && tabScrollable.value)\nconst tabScrollStyle = computed<CSSProperties>(() => {\n\treturn {\n\t\twidth: `${tabScrollWidth.value}px`,\n\t\tleft: `${tabScrollLeft.value}px`\n\t}\n})\n\nwatch(\n\t() => props.modelValue,\n\t(val, old) => {\n\t\tif (val || val === 0) {\n\t\t\tselectValue.value = val\n\t\t\tscrollSelectTabIntoView()\n\t\t} else {\n\t\t\temit('update:modelValue', old)\n\t\t}\n\t},\n\t{ immediate: true }\n)\nwatch(\n\t() => props.data,\n\t() => {\n\t\tif (!stopChange) {\n\t\t\tinitData()\n\t\t}\n\t},\n\t{ deep: true }\n)\nwatch(\n\t() => isPc.value,\n\t() => {\n\t\tupdateTabLayout()\n\t}\n)\nwatch(\n\t() => props.over,\n\t() => {\n\t\tupdateTabLayout()\n\t}\n)\nonMounted(() => {\n\tinitData()\n\twindow.addEventListener('resize', updateTabLayout)\n})\nonBeforeUnmount(() => {\n\twindow.removeEventListener('resize', updateTabLayout)\n\tstopTabScrollDrag()\n\tscrollStop()\n})\n\nfunction initData() {\n\tif (props.data && props.data.length) {\n\t\tif (typeof props.data === 'string') {\n\t\t\t_data.value = props.data.split(',').map(item => ({ label: item, value: item }))\n\t\t} else if (Array.isArray(props.data) && props.data.length) {\n\t\t\t_data.value = props.data\n\t\t}\n\t\tif (!selectValue.value && selectValue.value !== 0) {\n\t\t\tconst hasNoOnItems = !_data.value.some(item => item.on)\n\t\t\tif (hasNoOnItems) {\n\t\t\t\tselectValue.value = _data.value[0].value\n\t\t\t}\n\t\t}\n\t}\n\tif (props.over === 'control') {\n\t\tnextTick(() => {\n\t\t\tsetLayout()\n\t\t})\n\t}\n\tif (props.over === 'float') {\n\t\tupdateOverflowTabs()\n\t}\n\tupdateTabScroll()\n\tupdateActiveOver()\n}\nconst setTabStyle = computed(() => {\n\tlet obj: CSSProperties = {}\n\tif (props.itemWidth && !isNaN(Number(props.itemWidth)) && props.itemWidth !== 'avg') {\n\t\tobj.width = props.itemWidth + 'em'\n\t}\n\treturn obj\n})\nconst setClass = computed(() => {\n\tlet arr: string[] = []\n\tif (props.height === 'full') {\n\t\tarr.push(`height-full`)\n\t}\n\tif (props.mode) {\n\t\tarr.push(`mode-${props.mode}`)\n\t}\n\tif (props.position === 'left') {\n\t\tarr.push(`position-left`)\n\t\tarr.push(`dir-v`)\n\t}\n\tif (props.position === 'right') {\n\t\tarr.push(`position-right`)\n\t\tarr.push(`dir-v`)\n\t}\n\tif (props.position === 'bottom') {\n\t\tarr.push(`position-bottom`)\n\t}\n\tif (props.itemDir) {\n\t\tarr.push(`item-dir-${props.itemDir}`)\n\t}\n\tif (props.itemWidth === 'avg') {\n\t\tarr.push(`item-width-avg`)\n\t}\n\tif (props.align) {\n\t\tarr.push(`align-${props.align}`)\n\t}\n\tif (activeOver.value) {\n\t\tarr.push(`over-${activeOver.value}`)\n\t}\n\treturn arr\n})\n\nconst setStyle = computed(() => {\n\tlet obj: CSSProperties = {}\n\tif (props.height) {\n\t\tif (!isNaN(Number(props.height))) {\n\t\t\tobj.height = props.height + 'em'\n\t\t} else {\n\t\t\tobj.height = props.height as string\n\t\t}\n\t}\n\treturn obj\n})\n\nasync function changeTab(item, index, event, force = false) {\n\tif (!force && props.event !== event) return false\n\tif (item.disabled) return false\n\tlet flag = true\n\tif (props.beforeChange) {\n\t\tlet fn = props.beforeChange\n\t\tif (typeof fn === 'function') {\n\t\t\tif (typeof (fn() as Promise<boolean>).then === 'function') {\n\t\t\t\tflag = await fn()\n\t\t\t} else {\n\t\t\t\tflag = (fn as any)()\n\t\t\t}\n\t\t}\n\t}\n\tif (!flag) return false\n\tstopChange = true\n\tif (props.contentType === 'float') {\n\t\tfloatRef.value.open(ul.value)\n\t}\n\tselectValue.value = item.value\n\temit('update:modelValue', item.value)\n\temit('change', item.value, item, index)\n\tscrollTabIntoView(index)\n\tsetTimeout(() => {\n\t\tstopChange = false\n\t}, 10)\n\treturn true\n}\n\nasync function removePTab(item, idx) {\n\tlet flag = true\n\tif (props.beforeRemove) {\n\t\tlet fn = props.beforeRemove\n\t\tif (typeof fn === 'function') {\n\t\t\tif (typeof (fn() as Promise<boolean>).then === 'function') {\n\t\t\t\tflag = await fn()\n\t\t\t} else {\n\t\t\t\tflag = (fn as any)()\n\t\t\t}\n\t\t}\n\t}\n\tif (!flag) return false\n\tstopChange = true\n\tif (item.value === selectValue.value) {\n\t\tif (idx > 0) {\n\t\t\tselectValue.value = _data.value[idx - 1].value\n\t\t} else {\n\t\t\tselectValue.value = ''\n\t\t}\n\t\temit('update:modelValue', selectValue.value)\n\t}\n\t_data.value.splice(idx, 1)\n\tif (props.over === 'control') {\n\t\tsetLayout()\n\t}\n\tif (props.over === 'float') {\n\t\tupdateOverflowTabs()\n\t}\n\tupdateTabScroll()\n\tupdateActiveOver()\n\temit('remove', item.value, item, idx)\n\tsetTimeout(() => {\n\t\tstopChange = false\n\t}, 10)\n}\nfunction removeTab(val) {\n\t//\n\tconsole.log(val)\n}\nfunction addTab(tab) {\n\tif (props.data && props.data.length) return false\n\tstopChange = true\n\tlet idx = _data.value.findIndex(item => item.value === tab.value)\n\tif (idx === -1) {\n\t\tif (tab.on) {\n\t\t\tselectValue.value = tab.value\n\t\t}\n\t\t_data.value.push(tab)\n\t\tif (props.over === 'control') {\n\t\t\tnextTick(() => {\n\t\t\t\tsetLayout()\n\t\t\t})\n\t\t}\n\t\tif (props.over === 'float') {\n\t\t\tupdateOverflowTabs()\n\t\t}\n\t\tupdateTabScroll()\n\t\tupdateActiveOver()\n\t}\n\tsetTimeout(() => {\n\t\tstopChange = false\n\t}, 10)\n}\nfunction updateTabLabel(oldLabel: string | number, label: string) {\n\tlet idx = _data.value.findIndex(item => item.label === oldLabel)\n\tif (idx !== -1) {\n\t\t_data.value[idx].label = label\n\t\tupdateTabLayout()\n\t}\n}\nfunction getPicOn(pic) {\n\tlet src = ''\n\tif (pic && props.changePic) {\n\t\tlet arr = pic.split('.')\n\t\tif (arr.length === 2) {\n\t\t\tsrc = arr[0] + '-on.' + arr[1]\n\t\t} else if (arr.length > 2) {\n\t\t\tarr.forEach((item, idx) => {\n\t\t\t\tif (idx === arr.length - 1) {\n\t\t\t\t\tsrc += '-on.' + item\n\t\t\t\t} else {\n\t\t\t\t\tsrc += item\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t} else {\n\t\tsrc = pic\n\t}\n\treturn src\n}\nfunction contextmenu(item, idx) {\n\temit('contextmenu', item.value, item, idx)\n}\nfunction updateTabLayout() {\n\tif (props.over === 'control') {\n\t\tsetLayout()\n\t}\n\tupdateActiveOver()\n\tupdateOverflowTabs()\n\tupdateTabScroll()\n}\nfunction handleListScroll() {\n\tsetOverflowTabs()\n\tsetTabScroll()\n}\nfunction updateOverflowTabs() {\n\tnextTick(() => {\n\t\tsetOverflowTabs()\n\t})\n}\nfunction setOverflowTabs() {\n\tif (props.over !== 'float' || !list.value || !ul.value) {\n\t\toverflowTabs.value = []\n\t\treturn\n\t}\n\tconst listRect = list.value.getBoundingClientRect()\n\tif (!listRect.width || !listRect.height) {\n\t\toverflowTabs.value = []\n\t\treturn\n\t}\n\tconst hiddenIndexes = new Set<number>()\n\tconst itemNodes = Array.from(ul.value.querySelectorAll('.to-tab-item')) as HTMLElement[]\n\titemNodes.forEach(node => {\n\t\tconst index = Number(node.dataset.tabIndex)\n\t\tif (Number.isNaN(index)) return\n\t\tconst rect = node.getBoundingClientRect()\n\t\tconst isHidden = rect.left < listRect.left - 1 || rect.right > listRect.right + 1 || rect.top < listRect.top - 1 || rect.bottom > listRect.bottom + 1\n\t\tif (isHidden) {\n\t\t\thiddenIndexes.add(index)\n\t\t}\n\t})\n\tconst oldShow = overflowTabs.value.length > 0\n\toverflowTabs.value = _data.value.map((item, index) => ({ item, index })).filter(tab => hiddenIndexes.has(tab.index))\n\tif (oldShow !== overflowTabs.value.length > 0) {\n\t\tupdateOverflowTabs()\n\t}\n}\nfunction updateTabScroll() {\n\tnextTick(() => {\n\t\tsetTabScroll()\n\t})\n}\nfunction setTabScroll() {\n\tif (!isPc.value || !list.value || !ul.value) {\n\t\ttabScrollable.value = false\n\t\treturn\n\t}\n\tconst listWidth = list.value.clientWidth\n\tconst scrollWidth = ul.value.scrollWidth\n\tconst scrollRange = scrollWidth - listWidth\n\tif (listWidth <= 0 || scrollRange <= 1) {\n\t\ttabScrollable.value = false\n\t\ttabScrollWidth.value = 0\n\t\ttabScrollLeft.value = 0\n\t\tlist.value.scrollLeft = 0\n\t\treturn\n\t}\n\tconst scrollLeft = Math.max(0, Math.min(scrollRange, list.value.scrollLeft))\n\tif (scrollLeft !== list.value.scrollLeft) {\n\t\tlist.value.scrollLeft = scrollLeft\n\t}\n\ttabScrollable.value = true\n\ttabScrollWidth.value = Math.max((listWidth * listWidth) / scrollWidth, 16)\n\tconst trackRange = Math.max(listWidth - tabScrollWidth.value, 0)\n\tconst scrollRatio = scrollLeft / scrollRange\n\ttabScrollLeft.value = scrollLeft + scrollRatio * trackRange\n}\nfunction getTabScrollRange() {\n\tif (!list.value || !ul.value) return 0\n\treturn Math.max(ul.value.scrollWidth - list.value.clientWidth, 0)\n}\nasync function updateActiveOver() {\n\tconst version = ++activeOverVersion\n\tconst over = props.over\n\tif (over !== 'avg' && over !== 'wrap') {\n\t\tactiveOver.value = over\n\t\treturn\n\t}\n\tactiveOver.value = ''\n\tawait nextTick()\n\tif (version !== activeOverVersion || props.over !== over || !list.value || !ul.value) return\n\tactiveOver.value = getTabScrollRange() > 1 ? over : ''\n\tawait nextTick()\n\tif (version !== activeOverVersion) return\n\tsetTabScroll()\n}\nfunction setTabScrollLeft(scrollLeft: number) {\n\tif (!list.value) return\n\tconst scrollRange = getTabScrollRange()\n\tlist.value.scrollLeft = Math.max(0, Math.min(scrollRange, scrollLeft))\n\tsetTabScroll()\n\tsetOverflowTabs()\n}\nfunction startTabScrollDrag(event: MouseEvent) {\n\tif (!tabScrollShow.value || !list.value || !ul.value) return\n\tevent.preventDefault()\n\ttabScrollDragging.value = true\n\tconst startX = event.clientX\n\tconst startScrollLeft = list.value.scrollLeft\n\tconst listWidth = list.value.clientWidth\n\tconst scrollRange = getTabScrollRange()\n\tconst trackRange = Math.max(listWidth - tabScrollWidth.value, 1)\n\tconst move = (moveEvent: MouseEvent) => {\n\t\tmoveEvent.preventDefault()\n\t\tconst nextScrollLeft = startScrollLeft + ((moveEvent.clientX - startX) / trackRange) * scrollRange\n\t\tsetTabScrollLeft(nextScrollLeft)\n\t}\n\tconst up = () => {\n\t\tstopTabScrollDrag()\n\t}\n\twindow.addEventListener('mousemove', move)\n\twindow.addEventListener('mouseup', up, { once: true })\n\ttabScrollMove = move\n\ttabScrollUp = up\n}\nlet tabScrollMove: ((event: MouseEvent) => void) | null = null\nlet tabScrollUp: (() => void) | null = null\nfunction stopTabScrollDrag() {\n\ttabScrollDragging.value = false\n\tif (tabScrollMove) {\n\t\twindow.removeEventListener('mousemove', tabScrollMove)\n\t\ttabScrollMove = null\n\t}\n\tif (tabScrollUp) {\n\t\twindow.removeEventListener('mouseup', tabScrollUp)\n\t\ttabScrollUp = null\n\t}\n}\nasync function toggleOverflowFloat() {\n\tupdateOverflowTabs()\n\tawait nextTick()\n\tif (overflowTabs.value.length) {\n\t\toverflowFloatRef.value?.toggle?.(overflowIconRef.value)\n\t} else {\n\t\toverflowFloatRef.value?.close?.()\n\t}\n}\nasync function changeOverflowTab(tab: OverflowTab) {\n\tconst changed = await changeTab(tab.item, tab.index, 'click', true)\n\tif (changed !== false) {\n\t\toverflowFloatRef.value?.close?.()\n\t\tscrollTabIntoView(tab.index)\n\t}\n}\nasync function removeOverflowTab(tab: OverflowTab) {\n\tawait removePTab(tab.item, tab.index)\n\tupdateOverflowTabs()\n\tawait nextTick()\n\tif (!overflowTabs.value.length) {\n\t\toverflowFloatRef.value?.close?.()\n\t}\n}\nfunction scrollTabIntoView(index: number) {\n\tnextTick(() => {\n\t\tif (!list.value || !ul.value) return\n\t\tconst node = ul.value.querySelector(`.to-tab-item[data-tab-index=\"${index}\"]`) as HTMLElement | null\n\t\tif (!node) return\n\t\tconst listRect = list.value.getBoundingClientRect()\n\t\tconst nodeRect = node.getBoundingClientRect()\n\t\tif (nodeRect.right > listRect.right) {\n\t\t\tsetTabScrollLeft(list.value.scrollLeft + nodeRect.right - listRect.right)\n\t\t} else if (nodeRect.left < listRect.left) {\n\t\t\tsetTabScrollLeft(list.value.scrollLeft + nodeRect.left - listRect.left)\n\t\t} else {\n\t\t\tupdateOverflowTabs()\n\t\t\tupdateTabScroll()\n\t\t}\n\t})\n}\nfunction scrollSelectTabIntoView() {\n\tconst index = _data.value.findIndex(item => item.value === selectValue.value)\n\tif (index !== -1) {\n\t\tscrollTabIntoView(index)\n\t}\n}\n// function calcTabFloat() {\n// \tlet listWidth = list.value.offsetWidth\n// \tlet nodeList = ul.value.querySelectorAll('.to-tab-item')\n// \tlet liWidths = 0\n// \tlet maxIdx = 0\n// \tnodeList.forEach((item, idx) => {\n// \t\tif (liWidths + item.offsetWidth < listWidth) {\n// \t\t\tliWidths += item.offsetWidth\n// \t\t\tmaxIdx = idx\n// \t\t}\n// \t})\n// }\nfunction controlLeftScroll() {\n\tscrollTimer = setInterval(() => {\n\t\tsetTabScrollLeft((list.value?.scrollLeft || 0) - 3)\n\t}, 1)\n}\nfunction controlRightScroll() {\n\tscrollTimer = setInterval(() => {\n\t\tsetTabScrollLeft((list.value?.scrollLeft || 0) + 3)\n\t}, 1)\n}\nfunction scrollStop() {\n\tif (scrollTimer) {\n\t\tclearInterval(scrollTimer)\n\t\tscrollTimer = null\n\t}\n}\nfunction setLayout() {\n\tnextTick(() => {\n\t\tif (!list.value || !ul.value) {\n\t\t\tcontrolShow.value = false\n\t\t\treturn\n\t\t}\n\t\tcontrolShow.value = getTabScrollRange() > 1\n\t\tif (!controlShow.value) {\n\t\t\tlist.value.scrollLeft = 0\n\t\t}\n\t\tsetTabScroll()\n\t})\n}\nprovide<ITabProvide>('TabProvide', {\n\taddTab,\n\tremoveTab,\n\tupdateTabLabel,\n\tselectValue\n})\n</script>\n"],"names":["DO_defineComponent","_createElementBlock","_unref","_normalizeClass","flex","_createElementVNode","$slots","_renderSlot","title","_openBlock","_Fragment","_renderList","_createBlock","_mergeProps","_createTextVNode","_toDisplayString","removable","_withModifiers","over","_Teleport","_createVNode","contentType"],"mappings":"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"}