{"version":3,"file":"tabs-select2.mjs","sources":["../../../../../../packages/components/tabs-select/src/tabs-select.vue"],"sourcesContent":["<template>\n  <el-select\n    v-bind=\"$attrs\"\n    ref=\"selectRef\"\n    v-model=\"bindValue\"\n    :class=\"ns.b()\"\n    :multiple=\"multiple\"\n    :value-key=\"valueKey\"\n    :popper-class=\"ns.m('popper')\"\n  >\n    <template #header>\n      <Panel\n        v-model=\"bindValue\"\n        v-model:tab=\"curTab\"\n        :tabs=\"tabs\"\n        :multiple=\"multiple\"\n        :border=\"false\"\n        :prefix-label=\"prefixLabel\"\n        :tabs-props=\"tabsProps\"\n        :tree-props=\"treeProps\"\n        :panel-style=\"panelStyle\"\n        :height=\"height\"\n        :show-search=\"showSearch\"\n        :value-key=\"valueKey\"\n        :loading=\"loading\"\n        :remote-method=\"remoteMethod\"\n        @change=\"handleChange\"\n        @selected-options-change=\"handleSelectedChange\"\n      >\n        <template #option=\"scoped\">\n          <slot v-bind=\"scoped\" name=\"option\" />\n        </template>\n        <template #empty=\"scoped\">\n          <slot v-bind=\"scoped\" name=\"empty\" />\n        </template>\n      </Panel>\n    </template>\n\n    <div style=\"display: none\">\n      <el-option\n        v-for=\"item in options\"\n        :key=\"item.value\"\n        :label=\"item.label\"\n        :value=\"item.value\"\n      />\n    </div>\n\n    <template v-for=\"(_, name) in $slots\" #[name]=\"slotProps\">\n      <slot :name=\"name\" v-bind=\"slotProps\" />\n    </template>\n  </el-select>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref } from 'vue'\nimport { ElOption, ElSelect, useNamespace } from 'element-plus'\nimport { tabsSelectEmits, tabsSelectProps } from './tabs-select'\nimport Panel from './panel.vue'\nimport type { IPanelModelValue, ITreeOption } from './panel'\n\ndefineOptions({\n  name: 'ElTabsSelect',\n  inheritAttrs: false,\n})\n\nconst props = defineProps(tabsSelectProps)\nconst emit = defineEmits(tabsSelectEmits)\n\nconst ns = useNamespace('tabs-select')\nconst options = ref<ITreeOption[]>([])\nconst selectRef = ref()\n\nconst bindValue = computed({\n  get() {\n    return props.modelValue\n  },\n  set(value: IPanelModelValue) {\n    emit('update:modelValue', value)\n  },\n})\n\nconst curTab = ref(props['tabs'][0]?.id || '')\n\nconst handleSelectedChange = (selectedOptions: ITreeOption[]) => {\n  options.value = selectedOptions\n}\n\nconst handleChange = (val: IPanelModelValue) => {\n  if (!props.multiple) {\n    selectRef.value.handleClickOutside()\n  }\n  emit('change', val)\n}\n</script>\n"],"names":[],"mappings":";;;;;;mCA4Dc,CAAA;AAAA,EACZ,IAAM,EAAA,cAAA;AAAA,EACN,YAAc,EAAA,KAAA;AAChB,CAAA,CAAA,CAAA;;;;;;;AAEA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAEP,IAAA,MAAA,EAAA,GAAK,aAAa,aAAa,CAAA,CAAA;AAC/B,IAAA,MAAA,OAAA,GAAU,GAAmB,CAAA,EAAE,CAAA,CAAA;AACrC,IAAA,MAAM,YAAY,GAAI,EAAA,CAAA;AAEtB,IAAA,MAAM,YAAY,QAAS,CAAA;AAAA,MACzB,GAAM,GAAA;AACJ,QAAA,OAAO,KAAM,CAAA,UAAA,CAAA;AAAA,OACf;AAAA,MACA,IAAI,KAAyB,EAAA;AAC3B,QAAA,IAAA,CAAK,qBAAqB,KAAK,CAAA,CAAA;AAAA,OACjC;AAAA,KACD,CAAA,CAAA;AAEK,IAAA,MAAA,SAAS,GAAI,CAAA,CAAA,CAAA,EAAA,GAAA,KAAA,CAAM,QAAQ,CAAd,CAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAkB,OAAM,EAAE,CAAA,CAAA;AAEvC,IAAA,MAAA,oBAAA,GAAuB,CAAC,eAAmC,KAAA;AAC/D,MAAA,OAAA,CAAQ,KAAQ,GAAA,eAAA,CAAA;AAAA,KAClB,CAAA;AAEM,IAAA,MAAA,YAAA,GAAe,CAAC,GAA0B,KAAA;AAC1C,MAAA,IAAA,CAAC,MAAM,QAAU,EAAA;AACnB,QAAA,SAAA,CAAU,MAAM,kBAAmB,EAAA,CAAA;AAAA,OACrC;AACA,MAAA,IAAA,CAAK,UAAU,GAAG,CAAA,CAAA;AAAA,KACpB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}