import { createVNode as _createVNode, isVNode as _isVNode } from "vue";
import "./styles/link.css";
import { defineComponent } from "../../utils";
import { Button } from "../button";
function _isSlot(s) {
  return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !_isVNode(s);
}
const Link = defineComponent({
  name: "VeLink",
  props: {
    underline: {
      type: [Boolean, String],
      default: "hover"
    },
    linkIcon: {
      type: String,
      default: "$link"
    },
    prependIcon: [Boolean, String, Object],
    appendIcon: [Boolean, String, Object]
  },
  setup(props, {
    slots
  }) {
    return () => {
      return _createVNode(Button, {
        "class": ["ve-link", {
          "ve-link--underline": props.underline === true,
          "ve-link--underline-hover": props.underline === "hover"
        }],
        "variant": "text",
        "ripple": false,
        "overlay": false,
        "prepend-icon": props.prependIcon === true ? props.linkIcon : typeof props.prependIcon === "boolean" ? void 0 : props.prependIcon,
        "append-icon": props.appendIcon === true ? props.linkIcon : typeof props.appendIcon === "boolean" ? void 0 : props.appendIcon
      }, _isSlot(slots) ? slots : {
        default: () => [slots]
      });
    };
  }
});
export {
  Link
};
//# sourceMappingURL=link.mjs.map
