"use strict";

exports.__esModule = true;
exports.GridContent = void 0;
var _react = _interopRequireWildcard(require("react"));
var _mobxReactLite = require("mobx-react-lite");
var _InitialSkeletonLoader = require("../InitialLoader/InitialSkeletonLoader");
var _PageGridInfiniteScrollLoader = require("../PageGridInfiniteScrollLoader");
var _designSystem = require("@wix/design-system");
var _useGridBaseSyncProps = require("./useGridBaseSyncProps");
var _useRenderItem = require("./useRenderItem");
var _VirtualGridRepeater = require("../VirtualGridRepeater/VirtualGridRepeater");
var _jsxFileName = "/home/builduser/work/843658b9f44192f0/packages/cairo/dist/cjs/components/Grid/GridContent.tsx";
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
function _GridContent(props) {
  const {
    state,
    withInfiniteScrollLoader,
    dragAndDrop,
    dragAndDropSubmit,
    paddingTop,
    paddingBottom
  } = props;
  const {
    toolbar: {
      contentPaddingPx,
      showInitialLoader,
      multi: {
        showRefreshLoader
      }
    }
  } = state;
  (0, _useGridBaseSyncProps.useGridBaseSyncProps)(props);
  (0, _react.useEffect)(() => state.init(), []);
  const renderItem = (0, _useRenderItem.useRenderItem)(props);
  let child = /*#__PURE__*/_react.default.createElement(_VirtualGridRepeater.VirtualGridRepeater, {
    renderItem: renderItem,
    gridState: state,
    __self: this,
    __source: {
      fileName: _jsxFileName,
      lineNumber: 67,
      columnNumber: 15
    }
  });
  if (dragAndDrop) {
    const {
      DraggableCardOverlay,
      SortableContext
    } = dragAndDrop;
    child = /*#__PURE__*/_react.default.createElement(SortableContext, {
      state: state,
      onSubmit: dragAndDropSubmit,
      __self: this,
      __source: {
        fileName: _jsxFileName,
        lineNumber: 73,
        columnNumber: 7
      }
    }, child, /*#__PURE__*/_react.default.createElement(DraggableCardOverlay, {
      state: state,
      renderItem: renderItem,
      __self: this,
      __source: {
        fileName: _jsxFileName,
        lineNumber: 75,
        columnNumber: 9
      }
    }));
  }
  if (showRefreshLoader || showInitialLoader) {
    child = /*#__PURE__*/_react.default.createElement(_InitialSkeletonLoader.InitialSkeletonLoader, {
      dataHook: showInitialLoader ? 'grid-initial-loader' : 'grid-refresh-loader',
      state: state,
      __self: this,
      __source: {
        fileName: _jsxFileName,
        lineNumber: 82,
        columnNumber: 7
      }
    });
  } else {
    child = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, child, withInfiniteScrollLoader && /*#__PURE__*/_react.default.createElement(_PageGridInfiniteScrollLoader.PageGridInfiniteScrollLoader, {
      dataHook: "infinite-scroll-loader",
      state: state,
      scrollMoreAlways: true,
      __self: this,
      __source: {
        fileName: _jsxFileName,
        lineNumber: 94,
        columnNumber: 11
      }
    }));
  }
  (0, _react.useLayoutEffect)(() => {
    state._containerRectState._syncThrottled();
  }, []);
  (0, _react.useEffect)(() => state._containerRectState.init(), []);
  return /*#__PURE__*/_react.default.createElement(_designSystem.Box, {
    direction: "vertical",
    paddingTop: paddingTop,
    paddingBottom: paddingBottom,
    paddingRight: contentPaddingPx,
    paddingLeft: contentPaddingPx,
    __self: this,
    __source: {
      fileName: _jsxFileName,
      lineNumber: 111,
      columnNumber: 5
    }
  }, /*#__PURE__*/_react.default.createElement("div", {
    ref: el => {
      state._containerRectState.element = el;
    },
    __self: this,
    __source: {
      fileName: _jsxFileName,
      lineNumber: 118,
      columnNumber: 7
    }
  }, child));
}
const GridContent = exports.GridContent = (0, _mobxReactLite.observer)(_GridContent);
//# sourceMappingURL=GridContent.js.map