<script setup>
import BaseButton from "./BaseButton.vue";

const props = defineProps({
  variant: {
    type: String,
    default: "secondary",
    validator: (v) => ["secondary", "primary", "danger"].includes(v),
  },
  label: { type: String, default: "" },
  icon: { type: String, default: "" },
  disabled: { type: Boolean, default: false },
  type: { type: String, default: "button" },
  size: {
    type: String,
    default: undefined,
    validator: (v) => !v || ["small", "large"].includes(v),
  },
  rounded: { type: Boolean, default: false },
  class: { type: [String, Object, Array], default: "" },
});
</script>

<template>
  <BaseButton
    :variant="props.variant"
    outlined
    icon-position="left"
    :label="props.label"
    :icon="props.icon"
    :disabled="props.disabled"
    :type="props.type"
    :size="props.size"
    :rounded="props.rounded"
    :class="props['class']"
    v-bind="$attrs"
  />
</template>
