UNPKG

remeasure

Version:

Get position and size of the DOM element for any React Component

149 lines (133 loc) 3.54 kB
"use strict"; exports.__esModule = true; exports.VOID_ELEMENT_TAG_NAMES = exports.NATURAL_REGEXP = exports.FUNCTION_NAME_REGEXP = exports.KEY_NAMES = exports.KEYS = exports.SOURCES = exports.IS_PRODUCTION = exports.COMPONENT_WILL_RECEIVE_PROPS = exports.COMPONENT_WILL_MOUNT = exports.IS_LEGACY_REACT = void 0; var _react = _interopRequireDefault(require("react")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // external dependencies /** * @constant {boolean} IS_LEGACY_REACT */ var IS_LEGACY_REACT = function () { try { var MAJOR_MINOR_VERSION = _react.default.version.split('.').slice(0, 2).map(function (number) { return ~~number; }); return MAJOR_MINOR_VERSION[0] < 16 || MAJOR_MINOR_VERSION[0] === 16 && MAJOR_MINOR_VERSION[1] < 3; } catch (error) { return true; } }(); /** * @constant {string} COMPONENT_WILL_MOUNT */ exports.IS_LEGACY_REACT = IS_LEGACY_REACT; var COMPONENT_WILL_MOUNT = IS_LEGACY_REACT ? 'componentWillMount' : 'UNSAFE_componentWillMount'; /** * @constant {string} COMPONENT_WILL_RECEIVE_PROPS */ exports.COMPONENT_WILL_MOUNT = COMPONENT_WILL_MOUNT; var COMPONENT_WILL_RECEIVE_PROPS = IS_LEGACY_REACT ? 'componentWillReceiveProps' : 'UNSAFE_componentWillReceiveProps'; /** * @constant {boolean} IS_PRODUCTION */ exports.COMPONENT_WILL_RECEIVE_PROPS = COMPONENT_WILL_RECEIVE_PROPS; var IS_PRODUCTION = !!(process && process.env && process.env.NODE_ENV === 'production'); /** * @constant {Object} SOURCES */ exports.IS_PRODUCTION = IS_PRODUCTION; var SOURCES = { CLIENT_RECT: 'CLIENT_RECT', ELEMENT: 'ELEMENT' }; /** * @constant {Array<Object>} KEYS */ exports.SOURCES = SOURCES; var KEYS = [// client rect keys { key: 'bottom', source: SOURCES.CLIENT_RECT }, { key: 'left', source: SOURCES.CLIENT_RECT }, { key: 'height', source: SOURCES.CLIENT_RECT }, { key: 'right', source: SOURCES.CLIENT_RECT }, { key: 'top', source: SOURCES.CLIENT_RECT }, { key: 'width', source: SOURCES.CLIENT_RECT }, // element keys { key: 'clientLeft', source: SOURCES.ELEMENT }, { key: 'clientHeight', source: SOURCES.ELEMENT }, { key: 'clientTop', source: SOURCES.ELEMENT }, { key: 'clientWidth', source: SOURCES.ELEMENT }, { key: 'naturalHeight', source: SOURCES.ELEMENT }, { key: 'naturalWidth', source: SOURCES.ELEMENT }, { key: 'offsetLeft', source: SOURCES.ELEMENT }, { key: 'offsetHeight', source: SOURCES.ELEMENT }, { key: 'offsetTop', source: SOURCES.ELEMENT }, { key: 'offsetWidth', source: SOURCES.ELEMENT }, { key: 'scrollLeft', source: SOURCES.ELEMENT }, { key: 'scrollHeight', source: SOURCES.ELEMENT }, { key: 'scrollTop', source: SOURCES.ELEMENT }, { key: 'scrollWidth', source: SOURCES.ELEMENT }]; /** * @constant {Array<string>} KEY_NAMES */ exports.KEYS = KEYS; var KEY_NAMES = KEYS.map(function (_ref) { var key = _ref.key; return key; }); /** * @constant {RegExp} FUNCTION_NAME_REGEXP */ exports.KEY_NAMES = KEY_NAMES; var FUNCTION_NAME_REGEXP = /^\s*function\s*([^\(]*)/i; /** * @constant {RegExp} NATURAL_REGEXP */ exports.FUNCTION_NAME_REGEXP = FUNCTION_NAME_REGEXP; var NATURAL_REGEXP = /natural/; /** * @constant {Array<string>} VOID_ELEMENT_TAG_NAMES */ exports.NATURAL_REGEXP = NATURAL_REGEXP; var VOID_ELEMENT_TAG_NAMES = ['AREA', 'BASE', 'BR', 'COL', 'EMBED', 'HR', 'IMG', 'INPUT', 'LINK', 'MENUITEM', 'META', 'PARAM', 'SOURCE', 'TRACK', 'WBR']; exports.VOID_ELEMENT_TAG_NAMES = VOID_ELEMENT_TAG_NAMES;