react-windowed-list
Version:
A fast, versatile virtual-render list component for React
196 lines (165 loc) • 4.55 kB
JavaScript
;
exports.__esModule = true;
exports.HAS_NEW_LIFECYCLE_METHODS = exports.REACT_MINOR_VERSION = exports.UNSTABLE_TIMEOUT = exports.DEFAULT_CONTAINER_STYLE = exports.OUTER_CONTAINER_STYLE = exports.DEFAULT_AXIS = exports.VALID_TYPE_VALUES = exports.VALID_TYPES = exports.VALID_AXIS_VALUES = exports.VALID_AXES = exports.MAX_SYNC_UPDATES = exports.UNSTABLE_MESSAGE = exports.SIZE_KEYS = exports.SCROLL_START_KEYS = exports.SCROLL_SIZE_KEYS = exports.OVERFLOW_VALUES = exports.OVERFLOW_KEYS = exports.OFFSET_START_KEYS = exports.OFFSET_SIZE_KEYS = exports.INNER_SIZE_KEYS = exports.CLIENT_START_KEYS = exports.CLIENT_SIZE_KEYS = exports.ADD_EVENT_LISTENER_OPTIONS = undefined;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* @constant {boolean} ADD_EVENT_LISTENER_OPTIONS
* @default
*/
var ADD_EVENT_LISTENER_OPTIONS = exports.ADD_EVENT_LISTENER_OPTIONS = function () {
if (typeof window === 'undefined') {
return false;
}
var hasSupport = false;
try {
document.createElement('div').addEventListener('test', function () {}, {
get passive() {
hasSupport = true;
return false;
}
});
/* eslint-disable no-empty */
} catch (e) {}
/* eslint-enable */
return hasSupport;
}() ? {
passive: true
} : false;
/**
* @constant {Object} CLIENT_SIZE_KEYS
*/
// external dependencies
var CLIENT_SIZE_KEYS = exports.CLIENT_SIZE_KEYS = {
x: 'clientWidth',
y: 'clientHeight'
};
/**
* @constant {Object} CLIENT_START_KEYS
*/
var CLIENT_START_KEYS = exports.CLIENT_START_KEYS = {
x: 'clientTop',
y: 'clientLeft'
};
/**
* @constant {Object} INNER_SIZE_KEYS
*/
var INNER_SIZE_KEYS = exports.INNER_SIZE_KEYS = {
x: 'innerWidth',
y: 'innerHeight'
};
/**
* @constant {Object} OFFSET_SIZE_KEYS
*/
var OFFSET_SIZE_KEYS = exports.OFFSET_SIZE_KEYS = {
x: 'offsetWidth',
y: 'offsetHeight'
};
/**
* @constant {Object} OFFSET_START_KEYS
*/
var OFFSET_START_KEYS = exports.OFFSET_START_KEYS = {
x: 'offsetLeft',
y: 'offsetTop'
};
/**
* @constant {Object} OVERFLOW_KEYS
*/
var OVERFLOW_KEYS = exports.OVERFLOW_KEYS = {
x: 'overflowX',
y: 'overflowY'
};
/**
* @constant {Array<string>} OVERFLOW_VALUES
*/
var OVERFLOW_VALUES = exports.OVERFLOW_VALUES = ['auto', 'scroll', 'overlay'];
/**
* @constant {Object} SCROLL_SIZE_KEYS
*/
var SCROLL_SIZE_KEYS = exports.SCROLL_SIZE_KEYS = {
x: 'scrollWidth',
y: 'scrollHeight'
};
/**
* @constant {Object} SCROLL_START_KEYS
*/
var SCROLL_START_KEYS = exports.SCROLL_START_KEYS = {
x: 'scrollLeft',
y: 'scrollTop'
};
/**
* @constant {Object} SIZE_KEYS
*/
var SIZE_KEYS = exports.SIZE_KEYS = {
x: 'width',
y: 'height'
};
/**
* @constant {string} UNSTABLE_MESSAGE
* @default
*/
var UNSTABLE_MESSAGE = exports.UNSTABLE_MESSAGE = 'WindowedList failed to reach a stable state.';
/**
* @constant {number} MAX_SYNC_UPDATES
* @default
*/
var MAX_SYNC_UPDATES = exports.MAX_SYNC_UPDATES = 100;
/**
* @constant {Object} VALID_AXES
*/
var VALID_AXES = exports.VALID_AXES = {
X: 'x',
Y: 'y'
};
/**
* @constant {Array<string>} VALID_AXIS_VALUES
*/
var VALID_AXIS_VALUES = exports.VALID_AXIS_VALUES = Object.keys(VALID_AXES).map(function (key) {
return VALID_AXES[key];
});
/**
* @constant {Object} VALID_TYPES
*/
var VALID_TYPES = exports.VALID_TYPES = {
SIMPLE: 'simple',
UNIFORM: 'uniform',
VARIABLE: 'variable'
};
/**
* @constant {Array<string>} VALID_TYPE_VALUES
*/
var VALID_TYPE_VALUES = exports.VALID_TYPE_VALUES = Object.keys(VALID_TYPES).map(function (key) {
return VALID_TYPES[key];
});
/**
* @constant {string} DEFAULT_AXIS
* @default
*/
var DEFAULT_AXIS = exports.DEFAULT_AXIS = VALID_AXES.Y;
/**
* @constant {Object} OUTER_CONTAINER_STYLE
*/
var OUTER_CONTAINER_STYLE = exports.OUTER_CONTAINER_STYLE = {
height: '100%',
maxHeight: 'inherit',
width: '100%'
};
/**
* @constant {Object} DEFAULT_CONTAINER_STYLE
*/
var DEFAULT_CONTAINER_STYLE = exports.DEFAULT_CONTAINER_STYLE = {
position: 'relative'
};
/**
* @constant {number} UNSTABLE_TIMEOUT
*/
var UNSTABLE_TIMEOUT = exports.UNSTABLE_TIMEOUT = 250;
/**
* @constant {number} REACT_MINOR_VERSION
*/
var REACT_MINOR_VERSION = exports.REACT_MINOR_VERSION = +_react2.default.version.split('.').slice(0, 2).join('.');
/**
* @constant {boolean} HAS_NEW_LIFECYCLE_METHODS
*/
var HAS_NEW_LIFECYCLE_METHODS = exports.HAS_NEW_LIFECYCLE_METHODS = REACT_MINOR_VERSION >= 16.3;