"use strict";

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

    var _form = require("@frontend-taglib-clay$clayui/form");

    var _loadingIndicator = _interopRequireDefault(require("@frontend-taglib-clay$clayui/loading-indicator"));

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

    var _Context = _interopRequireDefault(require("./Context"));

    var _excluded = ["children"],
        _excluded2 = ["className", "component"];

    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 LoadingIndicatorMarkup = function LoadingIndicatorMarkup(_ref) {
      var children = _ref.children,
          otherProps = _objectWithoutProperties(_ref, _excluded);

      return (/*#__PURE__*/_react.default.createElement(_form.ClayInput.GroupInsetItem, _extends({}, otherProps, {
          after: true
        }), /*#__PURE__*/_react.default.createElement("span", {
          className: "inline-item inline-item-middle"
        }, children))
      );
    };

    var ClayAutocompleteLoadingIndicator = function ClayAutocompleteLoadingIndicator(_ref2) {
      var className = _ref2.className,
          _ref2$component = _ref2.component,
          Component = _ref2$component === void 0 ? LoadingIndicatorMarkup : _ref2$component,
          otherProps = _objectWithoutProperties(_ref2, _excluded2);

      var _React$useContext = _react.default.useContext(_Context.default),
          onLoadingChange = _React$useContext.onLoadingChange;

      _react.default.useEffect(function () {
        onLoadingChange(true);
        return function () {
          onLoadingChange(false);
        };
      }, []);

      return (/*#__PURE__*/_react.default.createElement(Component, _extends({}, otherProps, {
          className: className
        }), /*#__PURE__*/_react.default.createElement(_loadingIndicator.default, {
          small: true
        }))
      );
    };

    var _default = ClayAutocompleteLoadingIndicator;
    exports.default = _default;
  }
});
//# sourceMappingURL=LoadingIndicator.js.map