{"version":3,"sources":["webpack:///../node_modules/react-tooltip-lite/dist/functions.js","webpack:///../node_modules/react-tooltip-lite/dist/Portal.js","webpack:///../node_modules/react-tooltip-lite/dist/position.js","webpack:///../node_modules/react-tooltip-lite/dist/getDirection.js","webpack:///../node_modules/react-tooltip-lite/dist/index.js"],"names":["Object","defineProperty","exports","value","getScrollTop","window","pageYOffset","document","documentElement","scrollTop","body","getScrollLeft","pageXOffset","scrollLeft","getArrowSpacing","props","defaultArrowSpacing","arrow","arrowSize","distance","getScrollParent","element","style","getComputedStyle","scrollParent","position","parent","parentElement","parentStyle","test","overflow","overflowY","overflowX","undefined","noArrowDistance","bodyPadding","minArrowPadding","isBrowser","_react","_interopRequireDefault","_propTypes","_reactDom","obj","__esModule","_typeof","Symbol","iterator","constructor","prototype","_defineProperties","target","i","length","descriptor","enumerable","configurable","writable","key","_possibleConstructorReturn","self","call","ReferenceError","_assertThisInitialized","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","__proto__","_setPrototypeOf","p","useCreatePortal","createPortal","Portal","_React$Component","_this","instance","Constructor","TypeError","_classCallCheck","this","container","createElement","appendChild","renderLayer","subClass","superClass","create","_inherits","protoProps","staticProps","_createClass","unmountComponentAtNode","removeChild","unstable_renderSubtreeIntoContainer","children","Component","propTypes","node","isRequired","_default","direction","forceDirection","tip","state","alignMode","directionArray","split","parseAlignMode","trimmedDirection","realDirection","testArrowStyles","getArrowStyles","_getDirection","_functions","width","maxWidth","getTipMaxWidth","spacer","Math","min","offsetWidth","_objectSpread","getUpDownPosition","getLeftRightPosition","arguments","source","ownKeys","keys","getOwnPropertySymbols","concat","filter","sym","getOwnPropertyDescriptor","forEach","_defineProperty","clientWidth","top","left","transform","showTip","arrowSpacing","targetRect","getBoundingClientRect","targetLeft","halfTargetWidth","round","tipWidth","arrowCenter","arrowLeft","arrowRight","rightWithArrow","max","rightEdge","centeredLeft","availableSpaceOnLeft","rightOverhang","offsetHeight","bottom","arrowPadding","targetTop","halfTargetHeight","arrowTop","arrowBottom","topForBottomAlign","centeredTop","bottomOverhang","innerHeight","right","positionStyles","borderStyles","borderTop","borderBottom","background","borderRight","borderRightWidth","borderRightStyle","borderLeft","borderLeftWidth","borderLeftStyle","borderTopWidth","borderTopStyle","borderBottomWidth","borderBottomStyle","getDirection","currentDirection","arrowStyles","recursive","heightOfTipWithArrow","spaceBelowTarget","spaceAboveTarget","hasSpaceBelow","hasSpaceAbove","checkLeftRightWidthSufficient","checkTargetSufficientlyVisible","checkForArrowOverhang","deadSpace","topOverhang","arrowClearance","bottomOverhangAmount","topOverhangAmount","hasLeftClearance","hasRightClearance","_Portal","newObj","hasOwnProperty","desc","get","set","_interopRequireWildcard","_position","_extends","assign","apply","stopProp","e","stopPropagation","Tooltip","hasHover","ignoreShow","hasBeenShown","bind","hideTip","checkHover","toggleTip","startHover","endHover","listenResizeScroll","handleResizeScroll","bodyTouchStart","bodyTouchEnd","targetTouchStart","targetTouchEnd","nextProps","isOpen","setState","addEventListener","_","prevState","setTimeout","removeEventListener","clearTimeout","debounceTimeout","hoverTimeout","targetTouch","contains","_this2","onToggle","_this3","hoverDelay","mouseOutDelay","tipPortal","_this4","_this$props","className","color","content","eventOff","eventOn","eventToggle","padding","styles","TagName","tagName","tipContentHover","tipContentClassName","useDefaultStyles","useHover","arrowContent","isControlledByProps","ref","portalProps","onClick","onMouseEnter","onMouseLeave","onTouchStart","onTouchEnd","currentPositions","tipStyles","boxSizing","zIndex","display","height","bool","number","string","oneOfType","object","func"],"mappings":"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","file":"pex-static/34/63.9dd4cbfd2259320f0c4a.chunk.js","sourcesContent":["\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getScrollTop = getScrollTop;\nexports.getScrollLeft = getScrollLeft;\nexports.getArrowSpacing = getArrowSpacing;\nexports.getScrollParent = getScrollParent;\nexports.noArrowDistance = exports.bodyPadding = exports.minArrowPadding = void 0;\n\n/**\n * a handful of shared functions and constants\n */\nvar minArrowPadding = 5;\nexports.minArrowPadding = minArrowPadding;\nvar bodyPadding = 10;\nexports.bodyPadding = bodyPadding;\nvar noArrowDistance = 3;\n/**\n * cross browser scroll positions\n */\n\nexports.noArrowDistance = noArrowDistance;\n\nfunction getScrollTop() {\n return window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\n}\n\nfunction getScrollLeft() {\n return window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0;\n}\n\nfunction getArrowSpacing(props) {\n var defaultArrowSpacing = props.arrow ? props.arrowSize : noArrowDistance;\n return typeof props.distance === 'number' ? props.distance : defaultArrowSpacing;\n}\n/**\n * get first ancestor that might scroll\n */\n\n\nfunction getScrollParent(element) {\n var style = getComputedStyle(element);\n var scrollParent = window;\n\n if (style.position !== 'fixed') {\n var parent = element.parentElement;\n\n while (parent) {\n var parentStyle = getComputedStyle(parent);\n\n if (/(auto|scroll)/.test(parentStyle.overflow + parentStyle.overflowY + parentStyle.overflowX)) {\n scrollParent = parent;\n parent = undefined;\n } else {\n parent = parent.parentElement;\n }\n }\n }\n\n return scrollParent;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.isBrowser = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nvar useCreatePortal = typeof _reactDom[\"default\"].createPortal === 'function';\nvar isBrowser = typeof window !== 'undefined';\nexports.isBrowser = isBrowser;\n\nvar Portal =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(Portal, _React$Component);\n\n function Portal(props) {\n var _this;\n\n _classCallCheck(this, Portal);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Portal).call(this, props));\n\n if (isBrowser) {\n _this.container = document.createElement('div');\n document.body.appendChild(_this.container);\n\n _this.renderLayer();\n }\n\n return _this;\n }\n\n _createClass(Portal, [{\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.renderLayer();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (!useCreatePortal) {\n _reactDom[\"default\"].unmountComponentAtNode(this.container);\n }\n\n document.body.removeChild(this.container);\n }\n }, {\n key: \"renderLayer\",\n value: function renderLayer() {\n if (!useCreatePortal) {\n _reactDom[\"default\"].unstable_renderSubtreeIntoContainer(this, this.props.children, this.container);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n if (useCreatePortal) {\n return _reactDom[\"default\"].createPortal(this.props.children, this.container);\n }\n\n return null;\n }\n }]);\n\n return Portal;\n}(_react[\"default\"].Component);\n\nPortal.propTypes = {\n children: _propTypes[\"default\"].node.isRequired\n};\nvar _default = Portal;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = positions;\n\nvar _getDirection = _interopRequireDefault(require(\"./getDirection\"));\n\nvar _functions = require(\"./functions\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _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; }\n\n/**\n * Sets tip max width safely for mobile\n */\nfunction getTipMaxWidth() {\n return typeof document !== 'undefined' ? document.documentElement.clientWidth - _functions.bodyPadding * 2 : 1000;\n}\n/**\n * Parses align mode from direction if specified with hyphen, defaulting to middle if not -\n * e.g. 'left-start' is mode 'start' and 'left' would be the default of 'middle'\n */\n\n\nfunction parseAlignMode(direction) {\n var directionArray = direction.split('-');\n\n if (directionArray.length > 1) {\n return directionArray[1];\n }\n\n return 'middle';\n}\n/**\n * Gets wrapper's left position for top/bottom tooltips as well as needed width restriction\n */\n\n\nfunction getUpDownPosition(tip, target, state, direction, alignMode, props) {\n var left = -10000000;\n var top;\n var transform = state.showTip ? undefined : 'translateX(-10000000px)';\n var arrowSpacing = (0, _functions.getArrowSpacing)(props);\n\n if (tip) {\n // get wrapper left position\n var scrollLeft = (0, _functions.getScrollLeft)();\n var targetRect = target.getBoundingClientRect();\n var targetLeft = targetRect.left + scrollLeft;\n var halfTargetWidth = Math.round(target.offsetWidth / 2);\n var tipWidth = Math.min(getTipMaxWidth(), tip.offsetWidth);\n var arrowCenter = targetLeft + halfTargetWidth;\n var arrowLeft = arrowCenter - props.arrowSize;\n var arrowRight = arrowCenter + props.arrowSize;\n\n if (alignMode === 'start') {\n left = props.arrow ? Math.min(arrowLeft, targetLeft) : targetLeft;\n } else if (alignMode === 'end') {\n var rightWithArrow = Math.max(arrowRight, targetLeft + target.offsetWidth);\n var rightEdge = props.arrow ? rightWithArrow : targetLeft + target.offsetWidth;\n left = Math.max(rightEdge - tipWidth, _functions.bodyPadding + scrollLeft);\n } else {\n var centeredLeft = targetLeft + halfTargetWidth - Math.round(tipWidth / 2);\n var availableSpaceOnLeft = _functions.bodyPadding + scrollLeft;\n left = Math.max(centeredLeft, availableSpaceOnLeft);\n } // check for right overhang\n\n\n var rightOfTip = left + tipWidth;\n var rightOfScreen = scrollLeft + document.documentElement.clientWidth - _functions.bodyPadding;\n var rightOverhang = rightOfTip - rightOfScreen;\n\n if (rightOverhang > 0) {\n left -= rightOverhang;\n }\n\n if (direction === 'up') {\n top = targetRect.top + (0, _functions.getScrollTop)() - (tip.offsetHeight + arrowSpacing);\n } else {\n top = targetRect.bottom + (0, _functions.getScrollTop)() + arrowSpacing;\n }\n }\n\n return {\n left: left,\n top: top,\n transform: transform\n };\n}\n/**\n * gets top position for left/right arrows\n */\n\n\nfunction getLeftRightPosition(tip, target, state, direction, alignMode, props) {\n var left = -10000000;\n var top = 0;\n var transform = state.showTip ? undefined : 'translateX(-10000000px)';\n var arrowSpacing = (0, _functions.getArrowSpacing)(props);\n var arrowPadding = props.arrow ? _functions.minArrowPadding : 0;\n\n if (tip) {\n var scrollTop = (0, _functions.getScrollTop)();\n var scrollLeft = (0, _functions.getScrollLeft)();\n var targetRect = target.getBoundingClientRect();\n var targetTop = targetRect.top + scrollTop;\n var halfTargetHeight = Math.round(target.offsetHeight / 2);\n var arrowTop = targetTop + halfTargetHeight - props.arrowSize;\n var arrowBottom = targetRect.top + scrollTop + halfTargetHeight + props.arrowSize; // TODO: handle close to edges better\n\n if (alignMode === 'start') {\n top = props.arrow ? Math.min(targetTop, arrowTop) : targetTop;\n } else if (alignMode === 'end') {\n var topForBottomAlign = targetRect.bottom + scrollTop - tip.offsetHeight;\n top = props.arrow ? Math.max(topForBottomAlign, arrowBottom - tip.offsetHeight) : topForBottomAlign;\n } else {\n // default to middle, but don't go below body\n var centeredTop = Math.max(targetTop + halfTargetHeight - Math.round(tip.offsetHeight / 2), _functions.bodyPadding + scrollTop); // make sure it doesn't go below the arrow\n\n top = Math.min(centeredTop, arrowTop - arrowPadding);\n } // check for bottom overhang\n\n\n var bottomOverhang = top - scrollTop + tip.offsetHeight + _functions.bodyPadding - window.innerHeight;\n\n if (bottomOverhang > 0) {\n // try to add the body padding below the tip, but don't offset too far from the arrow\n top = Math.max(top - bottomOverhang, arrowBottom + arrowPadding - tip.offsetHeight);\n }\n\n if (direction === 'right') {\n left = targetRect.right + arrowSpacing + scrollLeft;\n } else {\n left = targetRect.left - arrowSpacing - tip.offsetWidth + scrollLeft;\n }\n }\n\n return {\n left: left,\n top: top,\n transform: transform\n };\n}\n/**\n * sets the Arrow styles based on direction\n */\n\n\nfunction getArrowStyles(target, tip, direction, state, props) {\n if (!target || !props.arrow) {\n return {\n positionStyles: {\n top: '0',\n left: '-10000000px'\n }\n };\n }\n\n var targetRect = target.getBoundingClientRect();\n var halfTargetHeight = Math.round(target.offsetHeight / 2);\n var halfTargetWidth = Math.round(target.offsetWidth / 2);\n var scrollTop = (0, _functions.getScrollTop)();\n var scrollLeft = (0, _functions.getScrollLeft)();\n var arrowSpacing = (0, _functions.getArrowSpacing)(props);\n var borderStyles = {};\n var positionStyles = {};\n\n switch (direction) {\n case 'right':\n borderStyles.borderTop = \"\".concat(props.arrowSize, \"px solid transparent\");\n borderStyles.borderBottom = \"\".concat(props.arrowSize, \"px solid transparent\");\n\n if (props.background) {\n borderStyles.borderRight = \"\".concat(props.arrowSize, \"px solid \").concat(props.background);\n } else {\n borderStyles.borderRightWidth = \"\".concat(props.arrowSize, \"px\");\n borderStyles.borderRightStyle = 'solid';\n }\n\n positionStyles.top = state.showTip && tip ? targetRect.top + scrollTop + halfTargetHeight - props.arrowSize : '-10000000px';\n positionStyles.left = targetRect.right + scrollLeft + arrowSpacing - props.arrowSize;\n break;\n\n case 'left':\n borderStyles.borderTop = \"\".concat(props.arrowSize, \"px solid transparent\");\n borderStyles.borderBottom = \"\".concat(props.arrowSize, \"px solid transparent\");\n\n if (props.background) {\n borderStyles.borderLeft = \"\".concat(props.arrowSize, \"px solid \").concat(props.background);\n } else {\n borderStyles.borderLeftWidth = \"\".concat(props.arrowSize, \"px\");\n borderStyles.borderLeftStyle = 'solid';\n }\n\n positionStyles.top = state.showTip && tip ? targetRect.top + scrollTop + halfTargetHeight - props.arrowSize : '-10000000px';\n positionStyles.left = targetRect.left + scrollLeft - arrowSpacing - 1;\n break;\n\n case 'up':\n borderStyles.borderLeft = \"\".concat(props.arrowSize, \"px solid transparent\");\n borderStyles.borderRight = \"\".concat(props.arrowSize, \"px solid transparent\"); // if color is styled with css, we need everything except border-color, if styled with props, we add entire border rule\n\n if (props.background) {\n borderStyles.borderTop = \"\".concat(props.arrowSize, \"px solid \").concat(props.background);\n } else {\n borderStyles.borderTopWidth = \"\".concat(props.arrowSize, \"px\");\n borderStyles.borderTopStyle = 'solid';\n }\n\n positionStyles.left = state.showTip && tip ? targetRect.left + scrollLeft + halfTargetWidth - props.arrowSize : '-10000000px';\n positionStyles.top = targetRect.top + scrollTop - arrowSpacing;\n break;\n\n case 'down':\n default:\n borderStyles.borderLeft = \"\".concat(props.arrowSize, \"px solid transparent\");\n borderStyles.borderRight = \"\".concat(props.arrowSize, \"px solid transparent\");\n\n if (props.background) {\n borderStyles.borderBottom = \"10px solid \".concat(props.background);\n } else {\n borderStyles.borderBottomWidth = \"\".concat(props.arrowSize, \"px\");\n borderStyles.borderBottomStyle = 'solid';\n }\n\n positionStyles.left = state.showTip && tip ? targetRect.left + scrollLeft + halfTargetWidth - props.arrowSize : '-10000000px';\n positionStyles.top = targetRect.bottom + scrollTop + arrowSpacing - props.arrowSize;\n break;\n }\n\n return {\n borderStyles: borderStyles,\n positionStyles: positionStyles\n };\n}\n/**\n * Returns the positions style rules\n */\n\n\nfunction positions(direction, forceDirection, tip, target, state, props) {\n var alignMode = parseAlignMode(direction);\n var trimmedDirection = direction.split('-')[0];\n var realDirection = trimmedDirection;\n\n if (!forceDirection && tip) {\n var testArrowStyles = props.arrow && getArrowStyles(target, tip, trimmedDirection, state, props);\n realDirection = (0, _getDirection[\"default\"])(trimmedDirection, tip, target, props, _functions.bodyPadding, testArrowStyles);\n }\n\n var maxWidth = getTipMaxWidth(); // force the tip to display the width we measured everything at when visible\n\n var width;\n\n if (tip) {\n // adding the exact width on the first render forces a bogus line break, so add 1px the first time\n var spacer = tip.style.width ? 0 : 1;\n width = Math.min(tip.offsetWidth, maxWidth) + spacer;\n }\n\n var tipPosition = realDirection === 'up' || realDirection === 'down' ? getUpDownPosition(tip, target, state, realDirection, alignMode, props) : getLeftRightPosition(tip, target, state, realDirection, alignMode, props);\n return {\n tip: _objectSpread({}, tipPosition, {\n maxWidth: maxWidth,\n width: width\n }),\n arrow: getArrowStyles(target, tip, realDirection, state, props),\n realDirection: realDirection\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = getDirection;\n\nvar _functions = require(\"./functions\");\n\n/**\n * Checks the intended tip direction and falls back if not enough space\n */\nfunction checkLeftRightWidthSufficient(tip, target, distance, bodyPadding) {\n var targetRect = target.getBoundingClientRect();\n var deadSpace = Math.min(targetRect.left, document.documentElement.clientWidth - targetRect.right);\n return tip.offsetWidth + target.offsetWidth + distance + bodyPadding + deadSpace < document.documentElement.clientWidth;\n}\n\nfunction checkTargetSufficientlyVisible(target, tip, props) {\n var targetRect = target.getBoundingClientRect();\n var bottomOverhang = targetRect.bottom > window.innerHeight;\n var topOverhang = targetRect.top < 0; // if the target is taller than the viewport (and we know there's sufficient left/right width before this is called),\n // then go with the left/right direction as top/bottom will both be off screen\n\n if (topOverhang && bottomOverhang) {\n return true;\n } // if the target is bigger than the tip, we need to check if enough of the target is visible\n\n\n if (target.offsetHeight > tip.offsetHeight) {\n var halfTargetHeight = target.offsetHeight / 2;\n var arrowClearance = props.arrowSize + _functions.minArrowPadding;\n var bottomOverhangAmount = targetRect.bottom - window.innerHeight;\n var topOverhangAmount = -targetRect.top;\n var targetCenterToBottomOfWindow = halfTargetHeight - bottomOverhangAmount;\n var targetCenterToTopOfWindow = halfTargetHeight - topOverhangAmount;\n return targetCenterToBottomOfWindow >= arrowClearance && targetCenterToTopOfWindow >= arrowClearance;\n } // otherwise just check that the whole target is visible\n\n\n return !bottomOverhang && !topOverhang;\n}\n\nfunction checkForArrowOverhang(props, arrowStyles, bodyPadding) {\n var scrollLeft = (0, _functions.getScrollLeft)();\n var hasLeftClearance = arrowStyles.positionStyles.left - scrollLeft > bodyPadding;\n var hasRightClearance = arrowStyles.positionStyles.left + props.arrowSize * 2 < scrollLeft + document.documentElement.clientWidth - bodyPadding;\n return !hasLeftClearance || !hasRightClearance;\n}\n\nfunction getDirection(currentDirection, tip, target, props, bodyPadding, arrowStyles, recursive) {\n // can't switch until target is rendered\n if (!target) {\n return currentDirection;\n }\n\n var targetRect = target.getBoundingClientRect();\n var arrowSpacing = (0, _functions.getArrowSpacing)(props); // this is how much space is needed to display the tip above or below the target\n\n var heightOfTipWithArrow = tip.offsetHeight + arrowSpacing + bodyPadding;\n var spaceBelowTarget = window.innerHeight - targetRect.bottom;\n var spaceAboveTarget = targetRect.top;\n var hasSpaceBelow = spaceBelowTarget >= heightOfTipWithArrow;\n var hasSpaceAbove = spaceAboveTarget >= heightOfTipWithArrow;\n\n switch (currentDirection) {\n case 'right':\n // if the window is not wide enough try top (which falls back to down)\n if (!checkLeftRightWidthSufficient(tip, target, arrowSpacing, bodyPadding) || !checkTargetSufficientlyVisible(target, tip, props)) {\n return getDirection('up', tip, target, arrowSpacing, bodyPadding, arrowStyles, true);\n }\n\n if (document.documentElement.clientWidth - targetRect.right < tip.offsetWidth + arrowSpacing + bodyPadding) {\n return 'left';\n }\n\n return 'right';\n\n case 'left':\n // if the window is not wide enough try top (which falls back to down)\n if (!checkLeftRightWidthSufficient(tip, target, arrowSpacing, bodyPadding) || !checkTargetSufficientlyVisible(target, tip, props)) {\n return getDirection('up', tip, target, arrowSpacing, bodyPadding, arrowStyles, true);\n }\n\n if (targetRect.left < tip.offsetWidth + arrowSpacing + bodyPadding) {\n return 'right';\n }\n\n return 'left';\n\n case 'up':\n if (!recursive && arrowStyles && checkForArrowOverhang(props, arrowStyles, bodyPadding)) {\n return getDirection('left', tip, target, arrowSpacing, bodyPadding, arrowStyles, true);\n }\n\n if (!hasSpaceAbove) {\n if (hasSpaceBelow) {\n return 'down';\n }\n\n if (!recursive && checkLeftRightWidthSufficient(tip, target, arrowSpacing, bodyPadding)) {\n return getDirection('right', tip, target, arrowSpacing, bodyPadding, arrowStyles, true);\n }\n }\n\n return 'up';\n\n case 'down':\n default:\n if (!recursive && arrowStyles && checkForArrowOverhang(props, arrowStyles, bodyPadding)) {\n return getDirection('right', tip, target, arrowSpacing, bodyPadding, arrowStyles, true);\n }\n\n if (!hasSpaceBelow) {\n // if there's no space below, but space above, switch to that direction\n if (hasSpaceAbove) {\n return 'up'; // if there's not space above or below, check if there would be space left or right\n }\n\n if (!recursive && checkLeftRightWidthSufficient(tip, target, arrowSpacing, bodyPadding)) {\n return getDirection('right', tip, target, arrowSpacing, bodyPadding, arrowStyles, true);\n } // if there's no space in any direction, default to the original direction\n\n }\n\n return 'down';\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _Portal = _interopRequireWildcard(require(\"./Portal\"));\n\nvar _position = _interopRequireDefault(require(\"./position\"));\n\nvar _functions = require(\"./functions\");\n\nfunction _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)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _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; }\n\n// default colors\nvar defaultColor = '#fff';\nvar defaultBg = '#333';\nvar resizeThrottle = 100;\nvar resizeThreshold = 5;\n\nvar stopProp = function stopProp(e) {\n return e.stopPropagation();\n};\n\nvar Tooltip =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(Tooltip, _React$Component);\n\n _createClass(Tooltip, null, [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps) {\n return _Portal.isBrowser && nextProps.isOpen ? {\n hasBeenShown: true\n } : null;\n }\n }]);\n\n function Tooltip() {\n var _this;\n\n _classCallCheck(this, Tooltip);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Tooltip).call(this));\n\n _defineProperty(_assertThisInitialized(_this), \"debounceTimeout\", false);\n\n _defineProperty(_assertThisInitialized(_this), \"hoverTimeout\", false);\n\n _this.state = {\n showTip: false,\n hasHover: false,\n ignoreShow: false,\n hasBeenShown: false\n };\n _this.showTip = _this.showTip.bind(_assertThisInitialized(_this));\n _this.hideTip = _this.hideTip.bind(_assertThisInitialized(_this));\n _this.checkHover = _this.checkHover.bind(_assertThisInitialized(_this));\n _this.toggleTip = _this.toggleTip.bind(_assertThisInitialized(_this));\n _this.startHover = _this.startHover.bind(_assertThisInitialized(_this));\n _this.endHover = _this.endHover.bind(_assertThisInitialized(_this));\n _this.listenResizeScroll = _this.listenResizeScroll.bind(_assertThisInitialized(_this));\n _this.handleResizeScroll = _this.handleResizeScroll.bind(_assertThisInitialized(_this));\n _this.bodyTouchStart = _this.bodyTouchStart.bind(_assertThisInitialized(_this));\n _this.bodyTouchEnd = _this.bodyTouchEnd.bind(_assertThisInitialized(_this));\n _this.targetTouchStart = _this.targetTouchStart.bind(_assertThisInitialized(_this));\n _this.targetTouchEnd = _this.targetTouchEnd.bind(_assertThisInitialized(_this));\n return _this;\n }\n\n _createClass(Tooltip, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n // if the isOpen prop is passed on first render we need to immediately trigger a second render,\n // because the tip ref is needed to calculate the position\n if (this.props.isOpen) {\n // eslint-disable-next-line react/no-did-mount-set-state\n this.setState({\n isOpen: true\n });\n }\n\n this.scrollParent = (0, _functions.getScrollParent)(this.target);\n window.addEventListener('resize', this.listenResizeScroll);\n this.scrollParent.addEventListener('scroll', this.listenResizeScroll);\n window.addEventListener('touchstart', this.bodyTouchStart);\n window.addEventListener('touchEnd', this.bodyTouchEnd);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(_, prevState) {\n // older versions of react won't leverage getDerivedStateFromProps, TODO: remove when < 16.3 support is dropped\n if (!this.state.hasBeenShown && this.props.isOpen) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({\n hasBeenShown: true\n });\n return setTimeout(this.showTip, 0);\n } // we need to render once to get refs in place, then we can make the calculations on a followup render\n // this only has to happen the first time the tip is shown, and allows us to not render every tip on the page with initial render.\n\n\n if (!prevState.hasBeenShown && this.state.hasBeenShown) {\n this.showTip();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n window.removeEventListener('resize', this.listenResizeScroll);\n this.scrollParent.removeEventListener('scroll', this.listenResizeScroll);\n window.removeEventListener('touchstart', this.bodyTouchStart);\n window.removeEventListener('touchEnd', this.bodyTouchEnd);\n clearTimeout(this.debounceTimeout);\n clearTimeout(this.hoverTimeout);\n }\n }, {\n key: \"listenResizeScroll\",\n value: function listenResizeScroll() {\n clearTimeout(this.debounceTimeout);\n this.debounceTimeout = setTimeout(this.handleResizeScroll, resizeThrottle);\n\n if (this.state.targetTouch) {\n this.setState({\n targetTouch: undefined\n });\n }\n }\n }, {\n key: \"handleResizeScroll\",\n value: function handleResizeScroll() {\n if (this.state.showTip) {\n // if we're showing the tip and the resize was actually a signifigant change, then setState to re-render and calculate position\n var clientWidth = Math.round(document.documentElement.clientWidth / resizeThreshold) * resizeThreshold;\n this.setState({\n clientWidth: clientWidth\n });\n }\n }\n }, {\n key: \"targetTouchStart\",\n value: function targetTouchStart() {\n this.setState({\n targetTouch: true\n });\n }\n }, {\n key: \"targetTouchEnd\",\n value: function targetTouchEnd() {\n if (this.state.targetTouch) {\n this.toggleTip();\n }\n }\n }, {\n key: \"bodyTouchEnd\",\n value: function bodyTouchEnd() {\n if (this.state.targetTouch) {\n this.setState({\n targetTouch: undefined\n });\n }\n }\n }, {\n key: \"bodyTouchStart\",\n value: function bodyTouchStart(e) {\n // if it's a controlled tip we don't want to auto-dismiss, otherwise we just ignore taps inside the tip\n if (!(this.target && this.target.contains(e.target)) && !(this.tip && this.tip.contains(e.target)) && !this.props.isOpen) {\n this.hideTip();\n }\n }\n }, {\n key: \"toggleTip\",\n value: function toggleTip() {\n this.state.showTip ? this.hideTip() : this.showTip();\n }\n }, {\n key: \"showTip\",\n value: function showTip() {\n var _this2 = this;\n\n if (!this.state.hasBeenShown) {\n // this will render once, then fire componentDidUpdate, which will show the tip\n return this.setState({\n hasBeenShown: true\n });\n }\n\n if (!this.state.showTip) {\n this.setState({\n showTip: true\n }, function () {\n if (typeof _this2.props.onToggle === 'function') {\n _this2.props.onToggle(_this2.state.showTip);\n }\n });\n }\n }\n }, {\n key: \"hideTip\",\n value: function hideTip() {\n var _this3 = this;\n\n this.setState({\n hasHover: false\n });\n\n if (this.state.showTip) {\n this.setState({\n showTip: false\n }, function () {\n if (typeof _this3.props.onToggle === 'function') {\n _this3.props.onToggle(_this3.state.showTip);\n }\n });\n }\n }\n }, {\n key: \"startHover\",\n value: function startHover() {\n if (!this.state.ignoreShow) {\n this.setState({\n hasHover: true\n });\n clearTimeout(this.hoverTimeout);\n this.hoverTimeout = setTimeout(this.checkHover, this.props.hoverDelay);\n }\n }\n }, {\n key: \"endHover\",\n value: function endHover() {\n this.setState({\n hasHover: false\n });\n clearTimeout(this.hoverTimeout);\n this.hoverTimeout = setTimeout(this.checkHover, this.props.mouseOutDelay || this.props.hoverDelay);\n }\n }, {\n key: \"checkHover\",\n value: function checkHover() {\n this.state.hasHover ? this.showTip() : this.hideTip();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this4 = this;\n\n var _this$props = this.props,\n arrow = _this$props.arrow,\n arrowSize = _this$props.arrowSize,\n background = _this$props.background,\n className = _this$props.className,\n children = _this$props.children,\n color = _this$props.color,\n content = _this$props.content,\n direction = _this$props.direction,\n distance = _this$props.distance,\n eventOff = _this$props.eventOff,\n eventOn = _this$props.eventOn,\n eventToggle = _this$props.eventToggle,\n forceDirection = _this$props.forceDirection,\n isOpen = _this$props.isOpen,\n mouseOutDelay = _this$props.mouseOutDelay,\n padding = _this$props.padding,\n styles = _this$props.styles,\n TagName = _this$props.tagName,\n tipContentHover = _this$props.tipContentHover,\n tipContentClassName = _this$props.tipContentClassName,\n useDefaultStyles = _this$props.useDefaultStyles,\n useHover = _this$props.useHover,\n arrowContent = _this$props.arrowContent;\n var isControlledByProps = typeof isOpen !== 'undefined' && isOpen !== null;\n var showTip = isControlledByProps ? isOpen : this.state.showTip;\n\n var wrapperStyles = _objectSpread({\n position: 'relative'\n }, styles);\n\n var props = {\n style: wrapperStyles,\n ref: function ref(target) {\n _this4.target = target;\n },\n className: className\n };\n var portalProps = {\n // keep clicks on the tip from closing click controlled tips\n onClick: stopProp\n }; // event handling\n\n if (eventOff) {\n props[eventOff] = this.hideTip;\n }\n\n if (eventOn) {\n props[eventOn] = this.showTip;\n }\n\n if (eventToggle) {\n props[eventToggle] = this.toggleTip; // only use hover if they don't have a toggle event\n } else if (useHover && !isControlledByProps) {\n props.onMouseEnter = this.startHover;\n props.onMouseLeave = tipContentHover || mouseOutDelay ? this.endHover : this.hideTip;\n props.onTouchStart = this.targetTouchStart;\n props.onTouchEnd = this.targetTouchEnd;\n\n if (tipContentHover) {\n portalProps.onMouseEnter = this.startHover;\n portalProps.onMouseLeave = this.endHover;\n portalProps.onTouchStart = stopProp;\n }\n } // conditional rendering of tip\n\n\n var tipPortal;\n\n if (this.state.hasBeenShown) {\n var currentPositions = (0, _position[\"default\"])(direction, forceDirection, this.tip, this.target, _objectSpread({}, this.state, {\n showTip: showTip\n }), {\n background: useDefaultStyles ? defaultBg : background,\n arrow: arrow,\n arrowSize: arrowSize,\n distance: distance\n });\n\n var tipStyles = _objectSpread({}, currentPositions.tip, {\n background: useDefaultStyles ? defaultBg : background,\n color: useDefaultStyles ? defaultColor : color,\n padding: padding,\n boxSizing: 'border-box',\n zIndex: this.props.zIndex,\n position: 'absolute',\n display: 'inline-block'\n });\n\n var arrowStyles = _objectSpread({}, currentPositions.arrow.positionStyles, arrowContent ? {} : currentPositions.arrow.borderStyles, {\n position: 'absolute',\n width: '0px',\n height: '0px',\n zIndex: this.props.zIndex + 1\n });\n\n tipPortal = _react[\"default\"].createElement(_Portal[\"default\"], null, _react[\"default\"].createElement(\"div\", _extends({}, portalProps, {\n className: typeof tipContentClassName !== 'undefined' ? tipContentClassName : className\n }), _react[\"default\"].createElement(\"span\", {\n className: \"react-tooltip-lite\",\n style: tipStyles,\n ref: function ref(tip) {\n _this4.tip = tip;\n }\n }, content), _react[\"default\"].createElement(\"span\", {\n className: \"react-tooltip-lite-arrow react-tooltip-lite-\".concat(currentPositions.realDirection, \"-arrow\"),\n style: arrowStyles\n }, arrowContent)));\n }\n\n return _react[\"default\"].createElement(TagName, props, children, tipPortal);\n }\n }]);\n\n return Tooltip;\n}(_react[\"default\"].Component);\n\n_defineProperty(Tooltip, \"propTypes\", {\n arrow: _propTypes[\"default\"].bool,\n arrowSize: _propTypes[\"default\"].number,\n background: _propTypes[\"default\"].string,\n children: _propTypes[\"default\"].node.isRequired,\n className: _propTypes[\"default\"].string,\n color: _propTypes[\"default\"].string,\n content: _propTypes[\"default\"].node.isRequired,\n direction: _propTypes[\"default\"].string,\n distance: _propTypes[\"default\"].number,\n eventOff: _propTypes[\"default\"].string,\n eventOn: _propTypes[\"default\"].string,\n eventToggle: _propTypes[\"default\"].string,\n forceDirection: _propTypes[\"default\"].bool,\n hoverDelay: _propTypes[\"default\"].number,\n isOpen: _propTypes[\"default\"].bool,\n mouseOutDelay: _propTypes[\"default\"].number,\n padding: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].string, _propTypes[\"default\"].number]),\n styles: _propTypes[\"default\"].object,\n tagName: _propTypes[\"default\"].string,\n tipContentHover: _propTypes[\"default\"].bool,\n tipContentClassName: _propTypes[\"default\"].string,\n useDefaultStyles: _propTypes[\"default\"].bool,\n useHover: _propTypes[\"default\"].bool,\n zIndex: _propTypes[\"default\"].number,\n onToggle: _propTypes[\"default\"].func,\n arrowContent: _propTypes[\"default\"].node\n});\n\n_defineProperty(Tooltip, \"defaultProps\", {\n arrow: true,\n arrowSize: 10,\n background: '',\n className: '',\n color: '',\n direction: 'up',\n distance: undefined,\n eventOff: undefined,\n eventOn: undefined,\n eventToggle: undefined,\n forceDirection: false,\n hoverDelay: 200,\n isOpen: undefined,\n mouseOutDelay: undefined,\n padding: '10px',\n styles: {},\n tagName: 'div',\n tipContentHover: false,\n tipContentClassName: undefined,\n useDefaultStyles: false,\n useHover: true,\n zIndex: 1000,\n onToggle: undefined,\n arrowContent: null\n});\n\nvar _default = Tooltip;\nexports[\"default\"] = _default;"],"sourceRoot":""}