{"version":3,"file":"tabbedContent.obs.js","sources":["../../../Framework/Controls/tabbedContent.obs"],"sourcesContent":["<!-- Copyright by the Spark Development Network; Licensed under the Rock Community License -->\r\n<template>\r\n <div>\r\n <TabbedBar v-model=\"selectedTab\" :tabs=\"tabs\" />\r\n\r\n <div class=\"tab-content mt-4\">\r\n <div v-for=\"(item, i) in tabs\" :key=\"i\" :class=\"classes[i]\">\r\n <slot name=\"tabpane\" :item=\"item\" />\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\n import TabbedBar from \"@Obsidian/Controls/tabbedBar.obs\";\r\n import { PropType, ref, watch } from \"vue\";\r\n\r\n const props = defineProps({\r\n tabs: {\r\n type: Array as PropType<string[]>,\r\n required: true\r\n }\r\n });\r\n\r\n const selectedTab = ref(props.tabs.length > 0 ? props.tabs[0] : \"\");\r\n const classes = ref<string[]>([]);\r\n let timeout: number;\r\n\r\n watch(() => props.tabs, () => {\r\n selectedTab.value = props.tabs.length > 0 ? props.tabs[0] : \"\";\r\n\r\n classes.value = props.tabs.map(item => {\r\n let list = \"tab-pane fade\";\r\n\r\n if (item === selectedTab.value) {\r\n list += \" active in\";\r\n }\r\n\r\n return list;\r\n });\r\n }, { immediate: true });\r\n\r\n watch(selectedTab, (current, previous) => {\r\n const previousIndex = props.tabs.indexOf(previous);\r\n const currentIndex = props.tabs.indexOf(current);\r\n\r\n classes.value[previousIndex] = \"tab-pane fade active\";\r\n\r\n clearTimeout(timeout);\r\n timeout = window.setTimeout(() => {\r\n classes.value[previousIndex] = \"tab-pane fade\";\r\n classes.value[currentIndex] = \"tab-pane fade active in\";\r\n }, 150);\r\n });\r\n</script>\r\n"],"names":["selectedTab","ref","props","tabs","length","classes","timeout","watch","value","map","item","list","immediate","current","previous","previousIndex","indexOf","currentIndex","clearTimeout","window","setTimeout"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAwBI,IAAMA,WAAW,GAAGC,GAAG,CAACC,KAAK,CAACC,IAAI,CAACC,MAAM,GAAG,CAAC,GAAGF,KAAK,CAACC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAA;MACnE,IAAA,IAAME,OAAO,GAAGJ,GAAG,CAAW,EAAE,CAAC,CAAA;MACjC,IAAA,IAAIK,OAAe,CAAA;MAEnBC,IAAAA,KAAK,CAAC,MAAML,KAAK,CAACC,IAAI,EAAE,MAAM;MAC1BH,MAAAA,WAAW,CAACQ,KAAK,GAAGN,KAAK,CAACC,IAAI,CAACC,MAAM,GAAG,CAAC,GAAGF,KAAK,CAACC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;YAE9DE,OAAO,CAACG,KAAK,GAAGN,KAAK,CAACC,IAAI,CAACM,GAAG,CAACC,IAAI,IAAI;cACnC,IAAIC,IAAI,GAAG,eAAe,CAAA;MAE1B,QAAA,IAAID,IAAI,KAAKV,WAAW,CAACQ,KAAK,EAAE;MAC5BG,UAAAA,IAAI,IAAI,YAAY,CAAA;MACxB,SAAA;MAEA,QAAA,OAAOA,IAAI,CAAA;MACf,OAAC,CAAC,CAAA;MACN,KAAC,EAAE;MAAEC,MAAAA,SAAS,EAAE,IAAA;MAAK,KAAC,CAAC,CAAA;MAEvBL,IAAAA,KAAK,CAACP,WAAW,EAAE,CAACa,OAAO,EAAEC,QAAQ,KAAK;YACtC,IAAMC,aAAa,GAAGb,KAAK,CAACC,IAAI,CAACa,OAAO,CAACF,QAAQ,CAAC,CAAA;YAClD,IAAMG,YAAY,GAAGf,KAAK,CAACC,IAAI,CAACa,OAAO,CAACH,OAAO,CAAC,CAAA;MAEhDR,MAAAA,OAAO,CAACG,KAAK,CAACO,aAAa,CAAC,GAAG,sBAAsB,CAAA;YAErDG,YAAY,CAACZ,OAAO,CAAC,CAAA;MACrBA,MAAAA,OAAO,GAAGa,MAAM,CAACC,UAAU,CAAC,MAAM;MAC9Bf,QAAAA,OAAO,CAACG,KAAK,CAACO,aAAa,CAAC,GAAG,eAAe,CAAA;MAC9CV,QAAAA,OAAO,CAACG,KAAK,CAACS,YAAY,CAAC,GAAG,yBAAyB,CAAA;aAC1D,EAAE,GAAG,CAAC,CAAA;MACX,KAAC,CAAC,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;"}