{"version":3,"file":"tab-item.vue2.mjs","sources":["../../../../../../packages/components/tab/src/tab-item.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToTabItem'\n});\n</script>\n<template>\n\t<div v-show=\"show\" v-if=\"lazy ? show : true\" :key=\"langKey\" class=\"to-tab-page-item\" :class=\"setClass\">\n\t\t<slot></slot>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, nextTick, onBeforeUnmount, inject, useSlots, watch } from 'vue'\nimport { ITabProvide } from './tab.vue'\nimport { langKey } from '@touchvue/locale'\n\n\n\ninterface TabItemProps {\n\tdata?: any\n\tlabel?: string\n\tvalue?: string | number\n\ticon?: string\n\tpic?: string\n\tnumber?: string | number\n\tlazy?: boolean\n\ton?: boolean\n\tdisabled?: boolean\n\tcount?: string | number\n}\n\nconst slots = useSlots()\n\nconst props = withDefaults(defineProps<TabItemProps>(), {\n\tdata: null,\n\tlabel: '',\n\tvalue: '',\n\ticon: '',\n\tpic: '',\n\tnumber: '',\n\tlazy: false,\n\ton: false,\n\tdisabled: false,\n\tcount: ''\n})\n\n// 注入父组件的值\nconst tabProvide: ITabProvide = inject('TabProvide')\n\n// computed\nconst setClass = computed(() => {\n\tlet arr: string[] = []\n\tif (props.disabled) {\n\t\tarr.push('disabled')\n\t}\n\treturn arr\n})\n\nconst show = computed(() => {\n\treturn tabProvide.selectValue.value === (props.value || props.label)\n})\n\n// 监听 label 变化，更新 tab 数据\nwatch(\n\t() => props.label,\n\t(newLabel, oldLabel) => {\n\t\tif (tabProvide && tabProvide.updateTabLabel) {\n\t\t\ttabProvide.updateTabLabel(oldLabel, newLabel)\n\t\t}\n\t}\n)\n\n// methods\nfunction init() {\n\tconst tabData = {\n\t\tlabel: props.label,\n\t\tvalue: props.value ? props.value : props.label,\n\t\ticon: props.icon,\n\t\tpic: props.pic,\n\t\tnumber: props.number,\n\t\tdisabled: props.disabled,\n\t\tdata: props.data,\n\t\ton: props.on,\n\t\tcount: props.count,\n\t\tlabelSlot: slots.label\n\t}\n\ttabProvide.addTab(tabData)\n}\n\nnextTick(() => {\n\tinit()\n})\n\nonBeforeUnmount(() => {\n\t// tabProvide.removeTab(props.value)\n})\n</script>\n"],"names":["DO_defineComponent","lazy","_createElementBlock","_unref","_normalizeClass","_renderSlot"],"mappings":";;;AAEA,MAAA,cAA6BA,eAAmB,CAAA;AAAA,EAC/C,IAAM,EAAA,WAAA;AACP,CAAC,CAAA,CAAA;;;;;;;;;;;;;;;;AA4BD,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AAEvB,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAcd,IAAM,MAAA,UAAA,GAA0B,OAAO,YAAY,CAAA,CAAA;AAGnD,IAAM,MAAA,QAAA,GAAW,SAAS,MAAM;AAC/B,MAAA,IAAI,MAAgB,EAAC,CAAA;AACrB,MAAA,IAAI,MAAM,QAAU,EAAA;AACnB,QAAA,GAAA,CAAI,KAAK,UAAU,CAAA,CAAA;AAAA,OACpB;AACA,MAAO,OAAA,GAAA,CAAA;AAAA,KACP,CAAA,CAAA;AAED,IAAM,MAAA,IAAA,GAAO,SAAS,MAAM;AAC3B,MAAA,OAAO,UAAW,CAAA,WAAA,CAAY,KAAW,MAAA,KAAA,CAAM,SAAS,KAAM,CAAA,KAAA,CAAA,CAAA;AAAA,KAC9D,CAAA,CAAA;AAGD,IAAA,KAAA;AAAA,MACC,MAAM,KAAM,CAAA,KAAA;AAAA,MACZ,CAAC,UAAU,QAAa,KAAA;AACvB,QAAI,IAAA,UAAA,IAAc,WAAW,cAAgB,EAAA;AAC5C,UAAW,UAAA,CAAA,cAAA,CAAe,UAAU,QAAQ,CAAA,CAAA;AAAA,SAC7C;AAAA,OACD;AAAA,KACD,CAAA;AAGA,IAAA,SAAS,IAAO,GAAA;AACf,MAAA,MAAM,OAAU,GAAA;AAAA,QACf,OAAO,KAAM,CAAA,KAAA;AAAA,QACb,KAAO,EAAA,KAAA,CAAM,KAAQ,GAAA,KAAA,CAAM,QAAQ,KAAM,CAAA,KAAA;AAAA,QACzC,MAAM,KAAM,CAAA,IAAA;AAAA,QACZ,KAAK,KAAM,CAAA,GAAA;AAAA,QACX,QAAQ,KAAM,CAAA,MAAA;AAAA,QACd,UAAU,KAAM,CAAA,QAAA;AAAA,QAChB,MAAM,KAAM,CAAA,IAAA;AAAA,QACZ,IAAI,KAAM,CAAA,EAAA;AAAA,QACV,OAAO,KAAM,CAAA,KAAA;AAAA,QACb,WAAW,KAAM,CAAA,KAAA;AAAA,OAClB,CAAA;AACA,MAAA,UAAA,CAAW,OAAO,OAAO,CAAA,CAAA;AAAA,KAC1B;AAEA,IAAA,QAAA,CAAS,MAAM;AACd,MAAK,IAAA,EAAA,CAAA;AAAA,KACL,CAAA,CAAA;AAED,IAAA,eAAA,CAAgB,MAAM;AAAA,KAErB,CAAA,CAAA;;AAzFyBC,MAAAA,OAAAA,CAAAA,KAAAA,IAAO,GAAA,IAAA,CAAI,QAAA,mCAApC,EAAAC,kBAAA;AAAA,QAEM,KAAA;AAAA,QAAA;AAAA,UAFwC,GAAA,EAAKC,MAAO,OAAA,CAAA;AAAA,UAAE,OAAKC,cAAA,CAAA,CAAC,kBAA2B,EAAA,QAAA,CAAQ,KAAA,CAAA,CAAA;AAAA;;UACpGC,UAAA,CAAa,IAAA,CAAA,MAAA,EAAA,SAAA,CAAA;AAAA;;;;cADD,EAAA,IAAA,CAAI,KAAA,CAAA;AAAA;;;;;;;"}