<template>
  <el-button type="primary" @click="open = true">Begin Tour</el-button>

  <el-divider />

  <el-space>
    <el-button ref="ref1">upload</el-button>
    <el-button ref="ref2" type="primary">save</el-button>
    <el-button ref="ref3" :icon="MoreFilled" />
  </el-space>

  <el-tour v-model="open">
    <el-tour-step :target="ref1?.$el" title="Upload File">
      <img
        src="https://element-plus.org/images/element-plus-logo.svg"
        alt="tour.png"
      />
      <div>Put you files here.</div>
    </el-tour-step>
    <el-tour-step
      :target="ref2?.$el"
      title="Save"
      description="Save your changes"
    />
    <el-tour-step
      :target="ref3?.$el"
      title="Other Actions"
      description="Click to see other"
    />
  </el-tour>
</template>

<script setup lang="ts">
import { ref } from 'vue'
import { type ElButton } from 'element-plus'
import { MoreFilled } from '@element-plus/icons-vue'

const ref1 = ref<InstanceType<typeof ElButton> | null>(null)
const ref2 = ref<InstanceType<typeof ElButton> | null>(null)
const ref3 = ref<InstanceType<typeof ElButton> | null>(null)

const open = ref(false)
</script>
