'use strict';

var _react = require('react');

var React = _interopRequireWildcard(_react);

var _ScalingCellSizeAndPositionManager = require('./utils/ScalingCellSizeAndPositionManager');

var _ScalingCellSizeAndPositionManager2 = _interopRequireDefault(_ScalingCellSizeAndPositionManager);

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

function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }

var babelPluginFlowReactPropTypes_proptype_CellPosition = {
  columnIndex: require('prop-types').number.isRequired,
  rowIndex: require('prop-types').number.isRequired
};
if (typeof exports !== 'undefined') Object.defineProperty(exports, 'babelPluginFlowReactPropTypes_proptype_CellPosition', {
  value: babelPluginFlowReactPropTypes_proptype_CellPosition,
  configurable: true
});
var babelPluginFlowReactPropTypes_proptype_CellRendererParams = {
  columnIndex: require('prop-types').number.isRequired,
  isScrolling: require('prop-types').bool.isRequired,
  isVisible: require('prop-types').bool.isRequired,
  key: require('prop-types').string.isRequired,
  parent: require('prop-types').object.isRequired,
  rowIndex: require('prop-types').number.isRequired,
  style: require('prop-types').object.isRequired
};
if (typeof exports !== 'undefined') Object.defineProperty(exports, 'babelPluginFlowReactPropTypes_proptype_CellRendererParams', {
  value: babelPluginFlowReactPropTypes_proptype_CellRendererParams,
  configurable: true
});

var babelPluginFlowReactPropTypes_proptype_CellRenderer = require('prop-types').func;

if (typeof exports !== 'undefined') Object.defineProperty(exports, 'babelPluginFlowReactPropTypes_proptype_CellRenderer', {
  value: babelPluginFlowReactPropTypes_proptype_CellRenderer,
  configurable: true
});
var babelPluginFlowReactPropTypes_proptype_CellRangeRendererParams = {
  cellCache: require('prop-types').object.isRequired,
  cellRenderer: require('prop-types').func.isRequired,
  columnSizeAndPositionManager: typeof _ScalingCellSizeAndPositionManager2.default === 'function' ? require('prop-types').instanceOf(_ScalingCellSizeAndPositionManager2.default).isRequired : require('prop-types').any.isRequired,
  columnStartIndex: require('prop-types').number.isRequired,
  columnStopIndex: require('prop-types').number.isRequired,
  deferredMeasurementCache: require('prop-types').object,
  horizontalOffsetAdjustment: require('prop-types').number.isRequired,
  isScrolling: require('prop-types').bool.isRequired,
  parent: require('prop-types').object.isRequired,
  rowSizeAndPositionManager: typeof _ScalingCellSizeAndPositionManager2.default === 'function' ? require('prop-types').instanceOf(_ScalingCellSizeAndPositionManager2.default).isRequired : require('prop-types').any.isRequired,
  rowStartIndex: require('prop-types').number.isRequired,
  rowStopIndex: require('prop-types').number.isRequired,
  scrollLeft: require('prop-types').number.isRequired,
  scrollTop: require('prop-types').number.isRequired,
  styleCache: require('prop-types').object.isRequired,
  verticalOffsetAdjustment: require('prop-types').number.isRequired,
  visibleColumnIndices: require('prop-types').object.isRequired,
  visibleRowIndices: require('prop-types').object.isRequired
};
if (typeof exports !== 'undefined') Object.defineProperty(exports, 'babelPluginFlowReactPropTypes_proptype_CellRangeRendererParams', {
  value: babelPluginFlowReactPropTypes_proptype_CellRangeRendererParams,
  configurable: true
});

var babelPluginFlowReactPropTypes_proptype_CellRangeRenderer = require('prop-types').func;

if (typeof exports !== 'undefined') Object.defineProperty(exports, 'babelPluginFlowReactPropTypes_proptype_CellRangeRenderer', {
  value: babelPluginFlowReactPropTypes_proptype_CellRangeRenderer,
  configurable: true
});

var babelPluginFlowReactPropTypes_proptype_CellSizeGetter = require('prop-types').func;

if (typeof exports !== 'undefined') Object.defineProperty(exports, 'babelPluginFlowReactPropTypes_proptype_CellSizeGetter', {
  value: babelPluginFlowReactPropTypes_proptype_CellSizeGetter,
  configurable: true
});

var babelPluginFlowReactPropTypes_proptype_CellSize = require('prop-types').oneOfType([require('prop-types').func, require('prop-types').number]);

if (typeof exports !== 'undefined') Object.defineProperty(exports, 'babelPluginFlowReactPropTypes_proptype_CellSize', {
  value: babelPluginFlowReactPropTypes_proptype_CellSize,
  configurable: true
});

var babelPluginFlowReactPropTypes_proptype_NoContentRenderer = require('prop-types').func;

if (typeof exports !== 'undefined') Object.defineProperty(exports, 'babelPluginFlowReactPropTypes_proptype_NoContentRenderer', {
  value: babelPluginFlowReactPropTypes_proptype_NoContentRenderer,
  configurable: true
});
var babelPluginFlowReactPropTypes_proptype_Scroll = {
  clientHeight: require('prop-types').number.isRequired,
  clientWidth: require('prop-types').number.isRequired,
  scrollHeight: require('prop-types').number.isRequired,
  scrollLeft: require('prop-types').number.isRequired,
  scrollTop: require('prop-types').number.isRequired,
  scrollWidth: require('prop-types').number.isRequired
};
if (typeof exports !== 'undefined') Object.defineProperty(exports, 'babelPluginFlowReactPropTypes_proptype_Scroll', {
  value: babelPluginFlowReactPropTypes_proptype_Scroll,
  configurable: true
});
var babelPluginFlowReactPropTypes_proptype_ScrollbarPresenceChange = {
  horizontal: require('prop-types').bool.isRequired,
  vertical: require('prop-types').bool.isRequired,
  size: require('prop-types').number.isRequired
};
if (typeof exports !== 'undefined') Object.defineProperty(exports, 'babelPluginFlowReactPropTypes_proptype_ScrollbarPresenceChange', {
  value: babelPluginFlowReactPropTypes_proptype_ScrollbarPresenceChange,
  configurable: true
});
var babelPluginFlowReactPropTypes_proptype_RenderedSection = {
  columnOverscanStartIndex: require('prop-types').number.isRequired,
  columnOverscanStopIndex: require('prop-types').number.isRequired,
  columnStartIndex: require('prop-types').number.isRequired,
  columnStopIndex: require('prop-types').number.isRequired,
  rowOverscanStartIndex: require('prop-types').number.isRequired,
  rowOverscanStopIndex: require('prop-types').number.isRequired,
  rowStartIndex: require('prop-types').number.isRequired,
  rowStopIndex: require('prop-types').number.isRequired
};
if (typeof exports !== 'undefined') Object.defineProperty(exports, 'babelPluginFlowReactPropTypes_proptype_RenderedSection', {
  value: babelPluginFlowReactPropTypes_proptype_RenderedSection,
  configurable: true
});
var babelPluginFlowReactPropTypes_proptype_OverscanIndicesGetterParams = {
  // One of SCROLL_DIRECTION_HORIZONTAL or SCROLL_DIRECTION_VERTICAL
  direction: require('prop-types').oneOf(['horizontal', 'vertical']).isRequired,


  // One of SCROLL_DIRECTION_BACKWARD or SCROLL_DIRECTION_FORWARD
  scrollDirection: require('prop-types').oneOf([-1, 1]).isRequired,


  // Number of rows or columns in the current axis
  cellCount: require('prop-types').number.isRequired,


  // Maximum number of cells to over-render in either direction
  overscanCellsCount: require('prop-types').number.isRequired,


  // Begin of range of visible cells
  startIndex: require('prop-types').number.isRequired,


  // End of range of visible cells
  stopIndex: require('prop-types').number.isRequired
};
if (typeof exports !== 'undefined') Object.defineProperty(exports, 'babelPluginFlowReactPropTypes_proptype_OverscanIndicesGetterParams', {
  value: babelPluginFlowReactPropTypes_proptype_OverscanIndicesGetterParams,
  configurable: true
});
var babelPluginFlowReactPropTypes_proptype_OverscanIndices = {
  overscanStartIndex: require('prop-types').number.isRequired,
  overscanStopIndex: require('prop-types').number.isRequired
};
if (typeof exports !== 'undefined') Object.defineProperty(exports, 'babelPluginFlowReactPropTypes_proptype_OverscanIndices', {
  value: babelPluginFlowReactPropTypes_proptype_OverscanIndices,
  configurable: true
});

var babelPluginFlowReactPropTypes_proptype_OverscanIndicesGetter = require('prop-types').func;

if (typeof exports !== 'undefined') Object.defineProperty(exports, 'babelPluginFlowReactPropTypes_proptype_OverscanIndicesGetter', {
  value: babelPluginFlowReactPropTypes_proptype_OverscanIndicesGetter,
  configurable: true
});

var babelPluginFlowReactPropTypes_proptype_Alignment = require('prop-types').oneOf(['auto', 'end', 'start', 'center']);

if (typeof exports !== 'undefined') Object.defineProperty(exports, 'babelPluginFlowReactPropTypes_proptype_Alignment', {
  value: babelPluginFlowReactPropTypes_proptype_Alignment,
  configurable: true
});
var babelPluginFlowReactPropTypes_proptype_VisibleCellRange = {
  start: require('prop-types').number,
  stop: require('prop-types').number
};
if (typeof exports !== 'undefined') Object.defineProperty(exports, 'babelPluginFlowReactPropTypes_proptype_VisibleCellRange', {
  value: babelPluginFlowReactPropTypes_proptype_VisibleCellRange,
  configurable: true
});