{"version":3,"file":"index.mjs","sources":["../../../../src/components/Tabs/index.vue"],"sourcesContent":["<template>\n  <div\n    ref=\"root\"\n    class=\"relative flex select-none justify-start overflow-x-auto\"\n  >\n    <button\n      v-for=\"tab in tabs\"\n      :key=\"(tab.value as any)\"\n      :ref=\"registerTab\"\n      type=\"button\"\n      :data-value=\"tab.value\"\n      class=\"whitespace-no-wrap flex-shrink-0\"\n      :class=\"[\n        tab.value === modelValue\n          ? 'border-b-2 border-primary-500'\n          : 'border-b  text-gray-400 dark:border-gray-700 dark:text-gray-500',\n      ]\"\n    >\n      <slot name=\"tab\" :tab=\"tab\" :select=\"() => select(tab.value)\">\n        <div class=\"px-4 py-3\" @click=\"() => select(tab.value)\">\n          {{ tab.title }}\n        </div>\n      </slot>\n    </button>\n\n    <div class=\"flex-1 border-b dark:border-gray-700\"></div>\n  </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { MaybeRef } from '@vueuse/core';\nimport { inject, onMounted, PropType, ref } from 'vue';\nexport interface Tab {\n  title: string;\n  value: string;\n}\n\nconst props = defineProps({\n  tabs: {\n    type: Array as PropType<Tab[]>,\n    required: true,\n  },\n  modelValue: {\n    type: String,\n    required: true,\n  },\n});\n\nconst emit = defineEmits(['update:modelValue']);\n\nconst root = ref<HTMLElement>();\n\nconst tabsRefs = ref<HTMLElement[]>([]);\n\nconst registerTab = (el: HTMLElement) => {\n  tabsRefs.value?.push(el);\n};\n\nonMounted(() => {\n  const activeTab = tabsRefs.value.find(\n    (item) => item.dataset.value === props.modelValue\n  );\n  // console.log(activeTab);\n  if (activeTab) {\n    console.log(activeTab);\n\n    activeTab.scrollIntoView({\n      behavior: 'smooth',\n      block: 'end',\n    });\n  }\n});\n\nconst select = (value: string) => {\n  emit('update:modelValue', value);\n};\n</script>\n"],"names":["props","__props","emit","__emit","root","ref","tabsRefs","registerTab","el","_a","onMounted","activeTab","item","select","value"],"mappings":";;;;;;;;;;;;;;;AAqCA,UAAMA,IAAQC,GAWRC,IAAOC,GAEPC,IAAOC,KAEPC,IAAWD,EAAmB,CAAA,CAAE,GAEhCE,IAAc,CAACC,MAAoB;;AAC9B,OAAAC,IAAAH,EAAA,UAAA,QAAAG,EAAO,KAAKD;AAAA,IAAE;AAGzB,IAAAE,EAAU,MAAM;AACR,YAAAC,IAAYL,EAAS,MAAM;AAAA,QAC/B,CAACM,MAASA,EAAK,QAAQ,UAAUZ,EAAM;AAAA,MAAA;AAGzC,MAAIW,KAGFA,EAAU,eAAe;AAAA,QACvB,UAAU;AAAA,QACV,OAAO;AAAA,MAAA,CACR;AAAA,IACH,CACD;AAEK,UAAAE,IAAS,CAACC,MAAkB;AAChC,MAAAZ,EAAK,qBAAqBY,CAAK;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}