import { forwardRef, useContext } from "react";
import IconLink from "../../icon/react-icon/IconLink/index.js";
import cs from "../_util/classNames.js";
import { ConfigContext } from "../ConfigProvider/index.js";
import useMergeProps from "../_util/hooks/useMergeProps.js";
import { jsxs, jsx } from "../../../../../../@emotion_react@11.10.4_3toe27fv7etiytxb5kxc7fxaw4/node_modules/@emotion/react/jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js";
var __assign = globalThis && globalThis.__assign || function() {
  __assign = Object.assign || function(t) {
    for (var s, i = 1, n = arguments.length; i < n; i++) {
      s = arguments[i];
      for (var p in s)
        if (Object.prototype.hasOwnProperty.call(s, p))
          t[p] = s[p];
    }
    return t;
  };
  return __assign.apply(this, arguments);
};
var __rest = globalThis && globalThis.__rest || function(s, e) {
  var t = {};
  for (var p in s)
    if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
      t[p] = s[p];
  if (s != null && typeof Object.getOwnPropertySymbols === "function")
    for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
      if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
        t[p[i]] = s[p[i]];
    }
  return t;
};
var defaultProps = {
  hoverable: true
};
function Link(baseProps, ref) {
  var _a;
  var _b = useContext(ConfigContext), getPrefixCls = _b.getPrefixCls, componentConfig = _b.componentConfig, rtl = _b.rtl;
  var props = useMergeProps(baseProps, defaultProps, componentConfig === null || componentConfig === void 0 ? void 0 : componentConfig.Link);
  var className = props.className, style = props.style, children = props.children, icon = props.icon, status = props.status, disabled = props.disabled, hoverable = props.hoverable, rest = __rest(props, ["className", "style", "children", "icon", "status", "disabled", "hoverable"]);
  var prefixCls = getPrefixCls("link");
  var TagWrapper = "href" in props ? "a" : "span";
  return /* @__PURE__ */ jsxs(TagWrapper, {
    ...__assign({
      className: cs(prefixCls, (_a = {}, _a[prefixCls + "-disabled"] = disabled, _a[prefixCls + "-is-" + status] = status, _a[prefixCls + "-with-icon"] = icon, _a[prefixCls + "-hoverless"] = !hoverable, _a[prefixCls + "-rtl"] = rtl, _a), className),
      ref
    }, rest, {
      style,
      tabIndex: disabled ? -1 : void 0,
      onClick: function(e) {
        if (disabled) {
          e.preventDefault();
          e.stopPropagation();
        } else {
          props.onClick && props.onClick(e);
        }
      }
    }),
    children: [icon ? /* @__PURE__ */ jsx("span", {
      className: prefixCls + "-icon",
      children: icon === true ? /* @__PURE__ */ jsx(IconLink, {}) : icon
    }) : null, children]
  });
}
var LinkRef = forwardRef(Link);
LinkRef.displayName = "Link";
const Link$1 = LinkRef;
export {
  Link$1 as default
};
//# sourceMappingURL=index.js.map
