"use strict";
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const runtime = require("../../../utils/vue/props/runtime.js");
const icon = require("../../../utils/vue/icon.js");
const index$1 = require("../../../hooks/use-size/index.js");
const index = require("../../../../../@element-plus/icons-vue/dist/index.js");
const buttonTypes = [
  "default",
  "primary",
  "success",
  "warning",
  "info",
  "danger",
  "text",
  ""
];
const buttonNativeTypes = [
  "button",
  "submit",
  "reset"
];
const buttonProps = runtime.buildProps({
  size: index$1.useSizeProp,
  disabled: {
    type: Boolean,
    default: void 0
  },
  type: {
    type: String,
    values: buttonTypes,
    default: ""
  },
  icon: { type: icon.iconPropType },
  nativeType: {
    type: String,
    values: buttonNativeTypes,
    default: "button"
  },
  loading: Boolean,
  loadingIcon: {
    type: icon.iconPropType,
    default: () => index.Loading
  },
  plain: {
    type: Boolean,
    default: void 0
  },
  text: {
    type: Boolean,
    default: void 0
  },
  link: Boolean,
  bg: Boolean,
  autofocus: Boolean,
  round: {
    type: Boolean,
    default: void 0
  },
  circle: Boolean,
  dashed: {
    type: Boolean,
    default: void 0
  },
  color: String,
  dark: Boolean,
  autoInsertSpace: {
    type: Boolean,
    default: void 0
  },
  tag: {
    type: runtime.definePropType([String, Object]),
    default: "button"
  }
});
const buttonEmits = { click: (evt) => evt instanceof MouseEvent };
exports.buttonEmits = buttonEmits;
exports.buttonNativeTypes = buttonNativeTypes;
exports.buttonProps = buttonProps;
exports.buttonTypes = buttonTypes;
