<script setup lang="ts">
const { as = 'div', active } = defineProps<{
  as?: string
  active: boolean
}>()

const el = ref()

watch(() => active, (active) => {
  const _el = unrefElement(el)

  if (active && _el)
    _el.scrollIntoView({ block: 'nearest', inline: 'start' })
})
</script>

<template>
  <component :is="as" ref="el">
    <slot />
  </component>
</template>
