{"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;;;;;;;;;;;;;;;;;;;;;;;;;;"}