{"version":3,"sources":["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","webpack:///../node_modules/react-tooltip-lite/dist/functions.js"],"names":["Object","defineProperty","exports","value","isBrowser","_react","_interopRequireDefault","_propTypes","_reactDom","obj","__esModule","_typeof","Symbol","iterator","constructor","prototype","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","key","_possibleConstructorReturn","self","call","ReferenceError","_assertThisInitialized","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","__proto__","_setPrototypeOf","p","useCreatePortal","createPortal","window","Portal","_React$Component","_this","instance","Constructor","TypeError","_classCallCheck","this","container","document","createElement","body","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","arrow","getArrowStyles","_getDirection","_functions","bodyPadding","width","maxWidth","getTipMaxWidth","spacer","style","Math","min","offsetWidth","_objectSpread","getUpDownPosition","getLeftRightPosition","arguments","source","ownKeys","keys","getOwnPropertySymbols","concat","filter","sym","getOwnPropertyDescriptor","forEach","_defineProperty","documentElement","clientWidth","top","left","transform","showTip","undefined","arrowSpacing","getArrowSpacing","scrollLeft","getScrollLeft","targetRect","getBoundingClientRect","targetLeft","halfTargetWidth","round","tipWidth","arrowCenter","arrowLeft","arrowSize","arrowRight","rightWithArrow","max","rightEdge","centeredLeft","availableSpaceOnLeft","rightOverhang","getScrollTop","offsetHeight","bottom","arrowPadding","minArrowPadding","scrollTop","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","distance","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","scrollParent","getScrollParent","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","position","ref","portalProps","onClick","onMouseEnter","onMouseLeave","onTouchStart","onTouchEnd","currentPositions","tipStyles","boxSizing","zIndex","display","height","bool","number","string","oneOfType","object","func","pageYOffset","pageXOffset","defaultArrowSpacing","element","getComputedStyle","parent","parentElement","parentStyle","test","overflow","overflowY","overflowX","noArrowDistance"],"mappings":"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","file":"pex-static/12/63.615bd8a63a38031630a8.chunk.js","sourcesContent":["\"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;","\"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}"],"sourceRoot":""}