"use strict";

Liferay.Loader.define("@frontend-taglib-clay$clayui/shared@3.58.0/lib/LinkOrButton", ['module', 'exports', 'require', '@frontend-taglib-clay$clayui/button', '@frontend-taglib-clay$clayui/link', 'frontend-js-react-web$react'], function (module, exports, require) {
  var define = undefined;
  var global = window;
  {
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.LinkOrButton = void 0;

    var _button = _interopRequireDefault(require("@frontend-taglib-clay$clayui/button"));

    var _link = _interopRequireDefault(require("@frontend-taglib-clay$clayui/link"));

    var _react = _interopRequireDefault(require("frontend-js-react-web$react"));

    var _excluded = ["buttonDisplayType", "buttonType", "href", "linkDisplayType", "onClick"];

    function _interopRequireDefault(obj) {
      return obj && obj.__esModule ? obj : { default: obj };
    }

    function _extends() {
      _extends = Object.assign || function (target) {
        for (var i = 1; i < arguments.length; i++) {
          var source = arguments[i];for (var key in source) {
            if (Object.prototype.hasOwnProperty.call(source, key)) {
              target[key] = source[key];
            }
          }
        }return target;
      };return _extends.apply(this, arguments);
    }

    function _objectWithoutProperties(source, excluded) {
      if (source == null) return {};var target = _objectWithoutPropertiesLoose(source, excluded);var key, i;if (Object.getOwnPropertySymbols) {
        var sourceSymbolKeys = Object.getOwnPropertySymbols(source);for (i = 0; i < sourceSymbolKeys.length; i++) {
          key = sourceSymbolKeys[i];if (excluded.indexOf(key) >= 0) continue;if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;target[key] = source[key];
        }
      }return target;
    }

    function _objectWithoutPropertiesLoose(source, excluded) {
      if (source == null) return {};var target = {};var sourceKeys = Object.keys(source);var key, i;for (i = 0; i < sourceKeys.length; i++) {
        key = sourceKeys[i];if (excluded.indexOf(key) >= 0) continue;target[key] = source[key];
      }return target;
    }

    var LinkOrButton = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
      var buttonDisplayType = _ref.buttonDisplayType,
          buttonType = _ref.buttonType,
          href = _ref.href,
          linkDisplayType = _ref.linkDisplayType,
          onClick = _ref.onClick,
          otherProps = _objectWithoutProperties(_ref, _excluded);

      if (href) {
        return (/*#__PURE__*/_react.default.createElement(_link.default, _extends({}, otherProps, {
            displayType: linkDisplayType,
            href: href,
            onClick: onClick,
            ref: ref
          }))
        );
      }

      return (/*#__PURE__*/_react.default.createElement(_button.default, _extends({}, otherProps, {
          displayType: buttonDisplayType,
          onClick: onClick,
          ref: ref,
          type: buttonType
        }))
      );
    });

    exports.LinkOrButton = LinkOrButton;
    LinkOrButton.displayName = 'ClayLinkOrButton';
  }
});
//# sourceMappingURL=LinkOrButton.js.map