Liferay.Loader.define("layout-content-page-editor-web@2.0.166/page_editor/app/components/layout-data-items/ContainerWithControls", ['module', 'exports', 'require', 'frontend-js-react-web$classnames', 'frontend-js-react-web$react', '../../../core/hooks/useSetRef', '../../../prop-types/index', '../../selectors/selectCanUpdateItemConfiguration', '../../store/index', '../../utils/getFrontendTokenValue', '../../utils/getResponsiveConfig', '../Topper', './Container'], function (module, exports, require) {
  var define = undefined;
  var global = window;
  {
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = void 0;

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

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

    var _useSetRef3 = _interopRequireDefault(require("../../../core/hooks/useSetRef"));

    var _index = require("../../../prop-types/index");

    var _selectCanUpdateItemConfiguration = _interopRequireDefault(require("../../selectors/selectCanUpdateItemConfiguration"));

    var _index2 = require("../../store/index");

    var _getFrontendTokenValue = require("../../utils/getFrontendTokenValue");

    var _getResponsiveConfig = require("../../utils/getResponsiveConfig");

    var _Topper = _interopRequireDefault(require("../Topper"));

    var _Container = _interopRequireDefault(require("./Container"));

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

    function _defineProperty(obj, key, value) {
      if (key in obj) {
        Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true });
      } else {
        obj[key] = value;
      }return obj;
    }

    function _slicedToArray(arr, i) {
      return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();
    }

    function _nonIterableRest() {
      throw new TypeError("Invalid attempt to destructure non-iterable instance");
    }

    function _iterableToArrayLimit(arr, i) {
      if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) {
        return;
      }var _arr = [];var _n = true;var _d = false;var _e = undefined;try {
        for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
          _arr.push(_s.value);if (i && _arr.length === i) break;
        }
      } catch (err) {
        _d = true;_e = err;
      } finally {
        try {
          if (!_n && _i["return"] != null) _i["return"]();
        } finally {
          if (_d) throw _e;
        }
      }return _arr;
    }

    function _arrayWithHoles(arr) {
      if (Array.isArray(arr)) return arr;
    }

    var ContainerWithControls = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
      var _classNames;

      var children = _ref.children,
          item = _ref.item;
      var canUpdateItemConfiguration = (0, _index2.useSelector)(_selectCanUpdateItemConfiguration.default);
      var selectedViewportSize = (0, _index2.useSelector)(function (state) {
        return state.selectedViewportSize;
      });

      var _useSetRef = (0, _useSetRef3.default)(ref),
          _useSetRef2 = _slicedToArray(_useSetRef, 2),
          setRef = _useSetRef2[0],
          itemElement = _useSetRef2[1];

      var itemConfig = (0, _getResponsiveConfig.getResponsiveConfig)(item.config, selectedViewportSize);
      var widthType = itemConfig.widthType;
      var _itemConfig$styles = itemConfig.styles,
          height = _itemConfig$styles.height,
          marginLeft = _itemConfig$styles.marginLeft,
          marginRight = _itemConfig$styles.marginRight,
          maxWidth = _itemConfig$styles.maxWidth,
          minWidth = _itemConfig$styles.minWidth,
          shadow = _itemConfig$styles.shadow,
          width = _itemConfig$styles.width;
      var style = {};
      style.boxShadow = (0, _getFrontendTokenValue.getFrontendTokenValue)(shadow);
      style.maxWidth = maxWidth;
      style.minWidth = minWidth;
      style.width = width;
      return (/*#__PURE__*/_react.default.createElement(_Topper.default, {
          className: (0, _classnames.default)((_classNames = {
            container: widthType === 'fixed'
          }, _defineProperty(_classNames, "ml-".concat(marginLeft), widthType !== 'fixed'), _defineProperty(_classNames, "mr-".concat(marginRight), widthType !== 'fixed'), _defineProperty(_classNames, 'p-0', widthType === 'fixed'), _classNames)),
          item: item,
          itemElement: itemElement,
          style: style
        }, /*#__PURE__*/_react.default.createElement(_Container.default, {
          className: (0, _classnames.default)({
            empty: !item.children.length && !height,
            'page-editor__container': canUpdateItemConfiguration
          }),
          item: item,
          ref: setRef
        }, children))
      );
    });

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