0 && arguments[0] !== undefined ? arguments[0] : {};\n var block = options.block,\n element = options.element,\n namespace = options.namespace,\n modifiers = options.modifiers,\n states = options.states;\n\n var bemClasses = [];\n var baseClassName = void 0;\n\n if (element) {\n if (namespace) {\n baseClassName = namespace + '-' + block + '__' + element;\n } else {\n baseClassName = block + '__' + element;\n }\n } else {\n if (namespace) {\n baseClassName = namespace + '-' + block;\n } else {\n baseClassName = block;\n }\n }\n\n bemClasses.push(baseClassName);\n\n if (states) {\n if ((typeof states === 'undefined' ? 'undefined' : _typeof(states)) === 'object') {\n states = Object.keys(states).filter(function (s) {\n return states[s];\n });\n }\n\n states.forEach(function (state) {\n bemClasses.push(baseClassName + '--is-' + state);\n });\n }\n\n if (modifiers) {\n if ((typeof modifiers === 'undefined' ? 'undefined' : _typeof(modifiers)) === 'object') {\n modifiers = Object.keys(modifiers).filter(function (m) {\n return modifiers[m];\n });\n }\n\n modifiers.forEach(function (modifier) {\n bemClasses.push(baseClassName + '--' + modifier);\n\n if (states) {\n states.forEach(function (state) {\n bemClasses.push(baseClassName + '--' + modifier + '--is-' + state);\n });\n }\n });\n }\n\n return bemClasses.join(' ');\n}\n});\n\nunwrapExports(bemCx_1);\n\nvar BemMixin_1 = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\n\nvar _bemCx2 = _interopRequireDefault(bemCx_1);\n\n\n\nvar _propTypes2 = _interopRequireDefault(PropTypes__default);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar BemMixin = {\n propTypes: {\n bemNamespace: _propTypes2.default.string,\n bemBlock: _propTypes2.default.string\n },\n\n contextTypes: {\n bemNamespace: _propTypes2.default.string,\n bemBlock: _propTypes2.default.string\n },\n\n childContextTypes: {\n bemNamespace: _propTypes2.default.string,\n bemBlock: _propTypes2.default.string\n },\n\n getChildContext: function getChildContext() {\n return {\n bemNamespace: this.getBemNamespace(),\n bemBlock: this.getBemBlock()\n };\n },\n getBemNamespace: function getBemNamespace() {\n if (this.props.bemNamespace) {\n return this.props.bemNamespace;\n }\n if (this.context.bemNamespace) {\n return this.context.bemNamespace;\n }\n return null;\n },\n getBemBlock: function getBemBlock() {\n if (this.props.bemBlock) {\n return this.props.bemBlock;\n }\n if (this.context.bemBlock) {\n return this.context.bemBlock;\n }\n return null;\n },\n cx: function cx() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var opts = {\n namespace: this.getBemNamespace(),\n element: this.constructor.displayName,\n block: this.getBemBlock()\n };\n\n Object.assign(opts, options);\n return (0, _bemCx2.default)(opts);\n }\n};\n\nexports.default = BemMixin;\n});\n\nunwrapExports(BemMixin_1);\n\nvar isMomentRange_1 = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isMomentRange;\n\n\n\nvar _momentRange2 = _interopRequireDefault(momentRange$1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction isMomentRange(val) {\n return val && val.start && val.end && _momentRange2.default.isMoment(val.start) && _momentRange2.default.isMoment(val.end);\n}\n});\n\nunwrapExports(isMomentRange_1);\n\nvar CustomPropTypes = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\n\nvar _momentRange2 = _interopRequireDefault(momentRange$1);\n\n\n\nvar _isMomentRange2 = _interopRequireDefault(isMomentRange_1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n momentOrMomentRange: function momentOrMomentRange(props, propName) {\n var val = props[propName];\n\n if (!val) {\n return null;\n } else if (_momentRange2.default.isMoment(val)) {\n return null;\n } else if ((0, _isMomentRange2.default)(val)) {\n return null;\n }\n return new Error('\\'' + propName + '\\' must be a moment or a moment range');\n },\n moment: function moment(props, propName) {\n var val = props[propName];\n\n if (!val) {\n return null;\n } else if (_momentRange2.default.isMoment(val)) {\n return null;\n }\n return new Error('\\'' + propName + '\\' must be a moment');\n },\n momentRange: function momentRange(props, propName) {\n var val = props[propName];\n\n if (!val) {\n return null;\n } else if ((0, _isMomentRange2.default)(val)) {\n return null;\n }\n return new Error('\\'' + propName + '\\' must be a moment range');\n }\n};\n});\n\nunwrapExports(CustomPropTypes);\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n * \n */\n\nvar hasOwnProperty$1 = Object.prototype.hasOwnProperty;\n\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nfunction is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n // Added the nonzero y check to make Flow happy, but it is redundant\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n}\n\n/**\n * Performs equality by iterating through keys on an object and returning false\n * when any key has values which are not strictly equal between the arguments.\n * Returns true when the values of all keys are strictly equal.\n */\nfunction shallowEqual(objA, objB) {\n if (is(objA, objB)) {\n return true;\n }\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n // Test for A's keys different from B.\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwnProperty$1.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}\n\nvar shallowEqual_1 = shallowEqual;\n\nvar reactAddonsPureRenderMixin = {\n shouldComponentUpdate: function(nextProps, nextState) {\n return (\n !shallowEqual_1(this.props, nextProps) ||\n !shallowEqual_1(this.state, nextState)\n );\n }\n};\n\nvar Legend_1 = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\n\nvar _react2 = _interopRequireDefault(React__default);\n\n\n\nvar _propTypes2 = _interopRequireDefault(PropTypes__default);\n\n\n\nvar _createReactClass2 = _interopRequireDefault(createReactClass);\n\n\n\nvar _BemMixin2 = _interopRequireDefault(BemMixin_1);\n\n\n\nvar _reactAddonsPureRenderMixin2 = _interopRequireDefault(reactAddonsPureRenderMixin);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Legend = (0, _createReactClass2.default)({\n mixins: [_BemMixin2.default, _reactAddonsPureRenderMixin2.default],\n displayName: \"Legend\",\n\n propTypes: {\n selectedLabel: _propTypes2.default.string.isRequired,\n stateDefinitions: _propTypes2.default.object.isRequired\n },\n\n render: function render() {\n var _props = this.props,\n selectedLabel = _props.selectedLabel,\n stateDefinitions = _props.stateDefinitions;\n\n var items = [];\n var name = void 0;\n var def = void 0;\n var style = void 0;\n\n for (name in stateDefinitions) {\n def = stateDefinitions[name];\n if (def.label && def.color) {\n style = {\n backgroundColor: def.color\n };\n items.push(_react2.default.createElement(\n 'li',\n { className: this.cx({ element: 'LegendItem' }), key: name },\n _react2.default.createElement('span', { className: this.cx({ element: 'LegendItemColor' }), style: style }),\n _react2.default.createElement(\n 'span',\n { className: this.cx({ element: 'LegendItemLabel' }) },\n def.label\n )\n ));\n }\n }\n\n return _react2.default.createElement(\n 'ul',\n { className: this.cx() },\n _react2.default.createElement(\n 'li',\n { className: this.cx({ element: 'LegendItem' }) },\n _react2.default.createElement('span', { className: this.cx({ element: 'LegendItemColor', modifiers: { 'selection': true } }) }),\n _react2.default.createElement(\n 'span',\n { className: this.cx({ element: 'LegendItemLabel' }) },\n selectedLabel\n )\n ),\n items\n );\n }\n});\n\nexports.default = Legend;\n});\n\nunwrapExports(Legend_1);\n\nvar areMomentRangesEqual_1 = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = areMomentRangesEqual;\n\n\n\nvar _isMomentRange2 = _interopRequireDefault(isMomentRange_1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction areMomentRangesEqual(r1, r2) {\n if (!(0, _isMomentRange2.default)(r1) || !(0, _isMomentRange2.default)(r2)) {\n return false;\n }\n\n return r1.start.isSame(r2.start, 'day') && r1.end.isSame(r2.end, 'day');\n}\n});\n\nunwrapExports(areMomentRangesEqual_1);\n\nvar shallowEqual_1$1 = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\n\nvar _momentRange2 = _interopRequireDefault(momentRange$1);\n\n\n\nvar _areMomentRangesEqual2 = _interopRequireDefault(areMomentRangesEqual_1);\n\n\n\nvar _isMomentRange2 = _interopRequireDefault(isMomentRange_1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction shallowEqual(objA, objB) {\n if (objA === objB) {\n return true;\n }\n var key;\n\n // Test for A's keys different from B.\n for (key in objA) {\n if (objA.hasOwnProperty(key)) {\n if (!objB.hasOwnProperty(key)) {\n return false;\n } else if (_momentRange2.default.isMoment(objA[key]) && _momentRange2.default.isMoment(objB[key])) {\n if (!objA[key].isSame(objB[key], 'day')) {\n return false;\n }\n } else if ((0, _isMomentRange2.default)(objA[key]) && (0, _isMomentRange2.default)(objB[key])) {\n if (!(0, _areMomentRangesEqual2.default)(objA[key], objB[key])) {\n return false;\n }\n } else if (objA[key] !== objB[key]) {\n return false;\n }\n }\n }\n\n // Test for B's keys missing from A.\n for (key in objB) {\n if (objB.hasOwnProperty(key) && !objA.hasOwnProperty(key)) {\n return false;\n }\n }\n return true;\n}\n\nexports.default = shallowEqual;\n});\n\nunwrapExports(shallowEqual_1$1);\n\nvar PureRenderMixin_1 = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\n\nvar _shallowEqual2 = _interopRequireDefault(shallowEqual_1$1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar PureRenderMixin = {\n shouldComponentUpdate: function shouldComponentUpdate(nextProps, nextState) {\n return !(0, _shallowEqual2.default)(this.props, nextProps) || !(0, _shallowEqual2.default)(this.state, nextState);\n }\n};\n\nexports.default = PureRenderMixin;\n});\n\nunwrapExports(PureRenderMixin_1);\n\nvar CalendarMonth_1 = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _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; };\n\n\n\nvar _react2 = _interopRequireDefault(React__default);\n\n\n\nvar _propTypes2 = _interopRequireDefault(PropTypes__default);\n\n\n\nvar _createReactClass2 = _interopRequireDefault(createReactClass);\n\n\n\nvar _momentRange2 = _interopRequireDefault(momentRange$1);\n\n\n\nvar _calendar2 = _interopRequireDefault(calendar);\n\n\n\nvar _immutable2 = _interopRequireDefault(immutable);\n\n\n\nvar _BemMixin2 = _interopRequireDefault(BemMixin_1);\n\n\n\nvar _CustomPropTypes2 = _interopRequireDefault(CustomPropTypes);\n\n\n\nvar _isMomentRange2 = _interopRequireDefault(isMomentRange_1);\n\n\n\nvar _PureRenderMixin2 = _interopRequireDefault(PureRenderMixin_1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nvar CalendarMonth = (0, _createReactClass2.default)({\n mixins: [_BemMixin2.default, _PureRenderMixin2.default],\n displayName: \"CalendarMonth\",\n\n propTypes: {\n dateComponent: _propTypes2.default.func,\n disableNavigation: _propTypes2.default.bool,\n enabledRange: _CustomPropTypes2.default.momentRange,\n firstOfMonth: _CustomPropTypes2.default.moment,\n firstOfWeek: _propTypes2.default.oneOf([0, 1, 2, 3, 4, 5, 6]),\n hideSelection: _propTypes2.default.bool,\n highlightedDate: _propTypes2.default.object,\n highlightedRange: _propTypes2.default.object,\n onMonthChange: _propTypes2.default.func,\n onYearChange: _propTypes2.default.func,\n value: _CustomPropTypes2.default.momentOrMomentRange,\n locale: _propTypes2.default.string,\n focusedElement: _propTypes2.default.oneOf(['start', 'end'])\n },\n\n setLocale: function setLocale(locale) {\n _momentRange2.default.locale(locale);\n this.WEEKDAYS = _immutable2.default.List(_momentRange2.default.weekdays()).zip(_immutable2.default.List(_momentRange2.default.weekdaysShort()));\n this.MONTHS = _immutable2.default.List(_momentRange2.default.months());\n },\n componentWillMount: function componentWillMount() {\n var locale = this.props.locale;\n\n this.setLocale(locale);\n },\n componentWillReceiveProps: function componentWillReceiveProps(nextProps) {\n var locale = nextProps.locale;\n\n if (locale !== this.props.locale) {\n this.setLocale(locale);\n }\n },\n renderDay: function renderDay(date, i) {\n var _props = this.props,\n CalendarDate = _props.dateComponent,\n value = _props.value,\n highlightedDate = _props.highlightedDate,\n highlightedRange = _props.highlightedRange,\n hideSelection = _props.hideSelection,\n enabledRange = _props.enabledRange,\n focusedElement = _props.focusedElement,\n props = _objectWithoutProperties(_props, ['dateComponent', 'value', 'highlightedDate', 'highlightedRange', 'hideSelection', 'enabledRange', 'focusedElement']);\n\n var d = (0, _momentRange2.default)(date).locale(this.props.locale);\n\n var isInSelectedRange = void 0;\n var isSelectedDate = void 0;\n var isSelectedRangeStart = void 0;\n var isSelectedRangeEnd = void 0;\n\n if (!hideSelection && value && _momentRange2.default.isMoment(value) && value.isSame(d, 'day')) {\n isSelectedDate = true;\n } else if (!hideSelection && value && (0, _isMomentRange2.default)(value) && value.contains(d)) {\n isInSelectedRange = true;\n\n isSelectedRangeStart = value.start.isSame(d, 'day');\n isSelectedRangeEnd = value.end.isSame(d, 'day');\n }\n\n return _react2.default.createElement(CalendarDate, _extends({\n key: i,\n isToday: d.isSame((0, _momentRange2.default)(), 'day'),\n isDisabled: !enabledRange.contains(d),\n isHighlightedDate: !!(highlightedDate && highlightedDate.isSame(d, 'day')),\n isHighlightedRangeStart: !!(highlightedRange && highlightedRange.start.isSame(d, 'day')),\n isHighlightedRangeEnd: !!(highlightedRange && highlightedRange.end.isSame(d, 'day')),\n isInHighlightedRange: !!(highlightedRange && highlightedRange.contains(d)),\n isSelectedDate: isSelectedDate,\n isSelectedRangeStart: isSelectedRangeStart,\n isSelectedRangeEnd: isSelectedRangeEnd,\n isInSelectedRange: isInSelectedRange,\n date: d,\n focusedElement: focusedElement\n }, props));\n },\n renderWeek: function renderWeek(dates, i) {\n var days = dates.map(this.renderDay);\n return _react2.default.createElement(\n 'tr',\n { className: this.cx({ element: 'Week' }), key: i },\n days.toJS()\n );\n },\n renderDayHeaders: function renderDayHeaders() {\n var firstOfWeek = this.props.firstOfWeek;\n\n var indices = _immutable2.default.Range(firstOfWeek, 7).concat(_immutable2.default.Range(0, firstOfWeek));\n\n var headers = indices.map(function (index) {\n var weekday = this.WEEKDAYS.get(index);\n return _react2.default.createElement(\n 'th',\n { className: this.cx({ element: 'WeekdayHeading' }), key: weekday, scope: 'col' },\n _react2.default.createElement(\n 'abbr',\n { title: weekday[0] },\n weekday[1]\n )\n );\n }.bind(this));\n\n return _react2.default.createElement(\n 'tr',\n { className: this.cx({ element: 'Weekdays' }) },\n headers.toJS()\n );\n },\n handleYearChange: function handleYearChange(event) {\n this.props.onYearChange(parseInt(event.target.value, 10));\n },\n renderYearChoice: function renderYearChoice(year) {\n var enabledRange = this.props.enabledRange;\n\n\n if (year < enabledRange.start.year()) {\n return null;\n }\n\n if (year > enabledRange.end.year()) {\n return null;\n }\n\n return _react2.default.createElement(\n 'option',\n { key: year, value: year },\n (0, _momentRange2.default)(year, 'YYYY').locale(this.props.locale).format('YYYY')\n );\n },\n renderHeaderYear: function renderHeaderYear() {\n var firstOfMonth = this.props.firstOfMonth;\n\n var y = firstOfMonth.year();\n var years = _immutable2.default.Range(y - 5, y).concat(_immutable2.default.Range(y, y + 10));\n var choices = years.map(this.renderYearChoice);\n var modifiers = { year: true };\n return _react2.default.createElement(\n 'span',\n { className: this.cx({ element: 'MonthHeaderLabel', modifiers: modifiers }) },\n firstOfMonth.locale(this.props.locale).format('YYYY'),\n this.props.disableNavigation ? null : _react2.default.createElement(\n 'select',\n { className: this.cx({ element: 'MonthHeaderSelect' }), value: y, onChange: this.handleYearChange },\n choices.toJS()\n )\n );\n },\n handleMonthChange: function handleMonthChange(event) {\n this.props.onMonthChange(parseInt(event.target.value, 10));\n },\n renderMonthChoice: function renderMonthChoice(month, i) {\n var _props2 = this.props,\n firstOfMonth = _props2.firstOfMonth,\n enabledRange = _props2.enabledRange;\n\n var disabled = false;\n var year = firstOfMonth.year();\n\n if ((0, _momentRange2.default)({ years: year, months: i + 1, date: 1 }).unix() < enabledRange.start.unix()) {\n disabled = true;\n }\n\n if ((0, _momentRange2.default)({ years: year, months: i, date: 1 }).unix() > enabledRange.end.unix()) {\n disabled = true;\n }\n\n return _react2.default.createElement(\n 'option',\n { key: month, value: i, disabled: disabled ? 'disabled' : null },\n month\n );\n },\n renderHeaderMonth: function renderHeaderMonth() {\n var firstOfMonth = this.props.firstOfMonth;\n\n var choices = this.MONTHS.map(this.renderMonthChoice);\n var modifiers = { month: true };\n\n return _react2.default.createElement(\n 'span',\n { className: this.cx({ element: 'MonthHeaderLabel', modifiers: modifiers }) },\n firstOfMonth.locale(this.props.locale).format('MMMM'),\n this.props.disableNavigation ? null : _react2.default.createElement(\n 'select',\n { className: this.cx({ element: 'MonthHeaderSelect' }), value: firstOfMonth.month(), onChange: this.handleMonthChange },\n choices.toJS()\n )\n );\n },\n renderHeader: function renderHeader() {\n return _react2.default.createElement(\n 'div',\n { className: this.cx({ element: 'MonthHeader' }) },\n this.renderHeaderMonth(),\n ' ',\n this.renderHeaderYear()\n );\n },\n render: function render() {\n var _props3 = this.props,\n firstOfWeek = _props3.firstOfWeek,\n firstOfMonth = _props3.firstOfMonth;\n\n\n var cal = new _calendar2.default.Calendar(firstOfWeek);\n var monthDates = _immutable2.default.fromJS(cal.monthDates(firstOfMonth.year(), firstOfMonth.month()));\n var weeks = monthDates.map(this.renderWeek);\n\n return _react2.default.createElement(\n 'div',\n { className: this.cx({ element: 'Month' }) },\n this.renderHeader(),\n _react2.default.createElement(\n 'table',\n { className: this.cx({ element: 'MonthDates' }) },\n _react2.default.createElement(\n 'thead',\n null,\n this.renderDayHeaders()\n ),\n _react2.default.createElement(\n 'tbody',\n null,\n weeks.toJS()\n )\n )\n );\n }\n});\n\nexports.default = CalendarMonth;\n});\n\nunwrapExports(CalendarMonth_1);\n\nvar lightenDarkenColor_1 = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = lightenDarkenColor;\nfunction lightenDarkenColor(col, amt) {\n var usePound = false;\n var num = void 0;\n var r = void 0;\n var b = void 0;\n var g = void 0;\n\n if (col[0] === \"#\") {\n col = col.slice(1);\n usePound = true;\n }\n\n num = parseInt(col, 16);\n\n r = (num >> 16) + amt;\n\n if (r > 255) {\n r = 255;\n } else if (r < 0) {\n r = 0;\n }\n\n b = (num >> 8 & 0x00FF) + amt;\n\n if (b > 255) {\n b = 255;\n } else if (b < 0) {\n b = 0;\n }\n\n g = (num & 0x0000FF) + amt;\n\n if (g > 255) {\n g = 255;\n } else if (g < 0) {\n g = 0;\n }\n\n return (usePound ? \"#\" : \"\") + (g | b << 8 | r << 16).toString(16);\n}\n});\n\nunwrapExports(lightenDarkenColor_1);\n\nvar CalendarDatePeriod_1 = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\n\nvar _react2 = _interopRequireDefault(React__default);\n\n\n\nvar _propTypes2 = _interopRequireDefault(PropTypes__default);\n\n\n\nvar _createReactClass2 = _interopRequireDefault(createReactClass);\n\n\n\nvar _BemMixin2 = _interopRequireDefault(BemMixin_1);\n\n\n\nvar _PureRenderMixin2 = _interopRequireDefault(PureRenderMixin_1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\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\nvar CalendarDatePeriod = (0, _createReactClass2.default)({\n mixins: [_BemMixin2.default, _PureRenderMixin2.default],\n displayName: \"CalendarDatePeriod\",\n\n propTypes: {\n color: _propTypes2.default.string,\n period: _propTypes2.default.string\n },\n\n render: function render() {\n var _props = this.props,\n color = _props.color,\n period = _props.period;\n\n var modifiers = _defineProperty({}, period, true);\n var style = void 0;\n\n if (color) {\n style = { backgroundColor: color };\n }\n\n return _react2.default.createElement('div', { style: style, className: this.cx({ modifiers: modifiers }) });\n }\n});\n\nexports.default = CalendarDatePeriod;\n});\n\nunwrapExports(CalendarDatePeriod_1);\n\nvar CalendarHighlight_1 = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\n\nvar _react2 = _interopRequireDefault(React__default);\n\n\n\nvar _propTypes2 = _interopRequireDefault(PropTypes__default);\n\n\n\nvar _createReactClass2 = _interopRequireDefault(createReactClass);\n\n\n\nvar _BemMixin2 = _interopRequireDefault(BemMixin_1);\n\n\n\nvar _PureRenderMixin2 = _interopRequireDefault(PureRenderMixin_1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\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\nvar CalendarHighlight = (0, _createReactClass2.default)({\n mixins: [_BemMixin2.default, _PureRenderMixin2.default],\n displayName: \"CalendarHighlight\",\n\n propTypes: {\n modifier: _propTypes2.default.string\n },\n\n render: function render() {\n var modifier = this.props.modifier;\n\n var modifiers = _defineProperty({}, modifier, true);\n var states = {};\n\n return _react2.default.createElement('div', { className: this.cx({ states: states, modifiers: modifiers }) });\n }\n});\n\nexports.default = CalendarHighlight;\n});\n\nunwrapExports(CalendarHighlight_1);\n\nvar CalendarSelection_1 = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\n\nvar _react2 = _interopRequireDefault(React__default);\n\n\n\nvar _propTypes2 = _interopRequireDefault(PropTypes__default);\n\n\n\nvar _createReactClass2 = _interopRequireDefault(createReactClass);\n\n\n\nvar _BemMixin2 = _interopRequireDefault(BemMixin_1);\n\n\n\nvar _PureRenderMixin2 = _interopRequireDefault(PureRenderMixin_1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\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\nvar CalendarSelection = (0, _createReactClass2.default)({\n mixins: [_BemMixin2.default, _PureRenderMixin2.default],\n displayName: \"CalendarSelection\",\n\n propTypes: {\n modifier: _propTypes2.default.string,\n pending: _propTypes2.default.bool.isRequired,\n focused: _propTypes2.default.bool\n },\n\n render: function render() {\n var _props = this.props,\n modifier = _props.modifier,\n pending = _props.pending,\n focused = _props.focused;\n\n var modifiers = _defineProperty({}, modifier, true);\n modifiers.focused = focused;\n var states = {\n pending: pending\n };\n\n return _react2.default.createElement('div', { className: this.cx({ states: states, modifiers: modifiers }) });\n }\n});\n\nexports.default = CalendarSelection;\n});\n\nunwrapExports(CalendarSelection_1);\n\nvar CalendarDate_1 = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\n\nvar _react2 = _interopRequireDefault(React__default);\n\n\n\nvar _propTypes2 = _interopRequireDefault(PropTypes__default);\n\n\n\nvar _createReactClass2 = _interopRequireDefault(createReactClass);\n\n\n\nvar _immutable2 = _interopRequireDefault(immutable);\n\n\n\nvar _BemMixin2 = _interopRequireDefault(BemMixin_1);\n\n\n\nvar _CustomPropTypes2 = _interopRequireDefault(CustomPropTypes);\n\n\n\nvar _PureRenderMixin2 = _interopRequireDefault(PureRenderMixin_1);\n\n\n\nvar _lightenDarkenColor2 = _interopRequireDefault(lightenDarkenColor_1);\n\n\n\nvar _CalendarDatePeriod2 = _interopRequireDefault(CalendarDatePeriod_1);\n\n\n\nvar _CalendarHighlight2 = _interopRequireDefault(CalendarHighlight_1);\n\n\n\nvar _CalendarSelection2 = _interopRequireDefault(CalendarSelection_1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar CalendarDate = (0, _createReactClass2.default)({\n mixins: [_BemMixin2.default, _PureRenderMixin2.default],\n displayName: \"CalendarDate\",\n\n propTypes: {\n date: _CustomPropTypes2.default.moment,\n\n firstOfMonth: _propTypes2.default.object.isRequired,\n\n isSelectedDate: _propTypes2.default.bool,\n isSelectedRangeStart: _propTypes2.default.bool,\n isSelectedRangeEnd: _propTypes2.default.bool,\n isInSelectedRange: _propTypes2.default.bool,\n\n isHighlightedDate: _propTypes2.default.bool,\n isHighlightedRangeStart: _propTypes2.default.bool,\n isHighlightedRangeEnd: _propTypes2.default.bool,\n isInHighlightedRange: _propTypes2.default.bool,\n\n highlightedDate: _propTypes2.default.object,\n dateStates: _propTypes2.default.instanceOf(_immutable2.default.List),\n isDisabled: _propTypes2.default.bool,\n isToday: _propTypes2.default.bool,\n\n dateRangesForDate: _propTypes2.default.func,\n onHighlightDate: _propTypes2.default.func,\n onUnHighlightDate: _propTypes2.default.func,\n onSelectDate: _propTypes2.default.func,\n focusedElement: _propTypes2.default.oneOf(['start', 'end'])\n },\n\n getInitialState: function getInitialState() {\n return {\n mouseDown: false\n };\n },\n componentWillUnmount: function componentWillUnmount() {\n this.isUnmounted = true;\n document.removeEventListener('mouseup', this.mouseUp);\n document.removeEventListener('touchend', this.touchEnd);\n },\n mouseUp: function mouseUp() {\n this.props.onSelectDate(this.props.date);\n\n if (this.isUnmounted) {\n return;\n }\n\n if (this.state.mouseDown) {\n this.setState({\n mouseDown: false\n });\n }\n\n document.removeEventListener('mouseup', this.mouseUp);\n },\n mouseDown: function mouseDown() {\n this.setState({\n mouseDown: true\n });\n\n document.addEventListener('mouseup', this.mouseUp);\n },\n touchEnd: function touchEnd() {\n event.preventDefault();\n this.props.onHighlightDate(this.props.date);\n this.props.onSelectDate(this.props.date);\n\n if (this.isUnmounted) {\n return;\n }\n\n if (this.state.mouseDown) {\n this.setState({\n mouseDown: false\n });\n }\n document.removeEventListener('touchend', this.touchEnd);\n },\n touchStart: function touchStart(event) {\n event.preventDefault();\n this.setState({\n mouseDown: true\n });\n document.addEventListener('touchend', this.touchEnd);\n },\n mouseEnter: function mouseEnter() {\n this.props.onHighlightDate(this.props.date);\n },\n mouseLeave: function mouseLeave() {\n if (this.state.mouseDown) {\n this.props.onSelectDate(this.props.date);\n\n this.setState({\n mouseDown: false\n });\n }\n this.props.onUnHighlightDate(this.props.date);\n },\n getBemModifiers: function getBemModifiers() {\n var _props = this.props,\n date = _props.date,\n firstOfMonth = _props.firstOfMonth,\n today = _props.isToday;\n\n\n var otherMonth = false;\n var weekend = false;\n\n if (date.month() !== firstOfMonth.month()) {\n otherMonth = true;\n }\n\n if (date.day() === 0 || date.day() === 6) {\n weekend = true;\n }\n\n return { today: today, weekend: weekend, otherMonth: otherMonth };\n },\n getBemStates: function getBemStates() {\n var _props2 = this.props,\n isSelectedDate = _props2.isSelectedDate,\n isInSelectedRange = _props2.isInSelectedRange,\n isInHighlightedRange = _props2.isInHighlightedRange,\n highlighted = _props2.isHighlightedDate,\n disabled = _props2.isDisabled;\n\n\n var selected = isSelectedDate || isInSelectedRange || isInHighlightedRange;\n\n return { disabled: disabled, highlighted: highlighted, selected: selected };\n },\n render: function render() {\n var _props3 = this.props,\n date = _props3.date,\n dateRangesForDate = _props3.dateRangesForDate,\n isSelectedDate = _props3.isSelectedDate,\n isSelectedRangeStart = _props3.isSelectedRangeStart,\n isSelectedRangeEnd = _props3.isSelectedRangeEnd,\n isInSelectedRange = _props3.isInSelectedRange,\n isHighlightedDate = _props3.isHighlightedDate,\n isHighlightedRangeStart = _props3.isHighlightedRangeStart,\n isHighlightedRangeEnd = _props3.isHighlightedRangeEnd,\n isInHighlightedRange = _props3.isInHighlightedRange,\n focusedElement = _props3.focusedElement;\n\n\n var bemModifiers = this.getBemModifiers();\n var bemStates = this.getBemStates();\n var pending = isInHighlightedRange;\n\n var color = void 0;\n var amColor = void 0;\n var pmColor = void 0;\n var states = dateRangesForDate(date);\n var numStates = states.count();\n var cellStyle = {};\n var style = {};\n\n var highlightModifier = void 0;\n var selectionModifier = void 0;\n var focused = void 0;\n\n if (isSelectedDate || isSelectedRangeStart && isSelectedRangeEnd || isHighlightedRangeStart && isHighlightedRangeEnd) {\n selectionModifier = 'single';\n } else if (isSelectedRangeStart || isHighlightedRangeStart) {\n selectionModifier = 'start';\n focused = focusedElement === 'start';\n } else if (isSelectedRangeEnd || isHighlightedRangeEnd) {\n selectionModifier = 'end';\n focused = focusedElement === 'end';\n } else if (isInSelectedRange || isInHighlightedRange) {\n selectionModifier = 'segment';\n }\n\n if (isHighlightedDate) {\n highlightModifier = 'single';\n }\n\n if (numStates === 1) {\n // If there's only one state, it means we're not at a boundary\n color = states.getIn([0, 'color']);\n\n if (color) {\n\n style = {\n backgroundColor: color\n };\n cellStyle = {\n borderLeftColor: (0, _lightenDarkenColor2.default)(color, -10),\n borderRightColor: (0, _lightenDarkenColor2.default)(color, -10)\n };\n }\n } else {\n amColor = states.getIn([0, 'color']);\n pmColor = states.getIn([1, 'color']);\n\n if (amColor) {\n cellStyle.borderLeftColor = (0, _lightenDarkenColor2.default)(amColor, -10);\n }\n\n if (pmColor) {\n cellStyle.borderRightColor = (0, _lightenDarkenColor2.default)(pmColor, -10);\n }\n }\n\n return _react2.default.createElement(\n 'td',\n { className: this.cx({ element: 'Date', modifiers: bemModifiers, states: bemStates }),\n style: cellStyle,\n onTouchStart: this.touchStart,\n onMouseEnter: this.mouseEnter,\n onMouseLeave: this.mouseLeave,\n onMouseDown: this.mouseDown },\n numStates > 1 && _react2.default.createElement(\n 'div',\n { className: this.cx({ element: \"HalfDateStates\" }) },\n _react2.default.createElement(_CalendarDatePeriod2.default, { period: 'am', color: amColor }),\n _react2.default.createElement(_CalendarDatePeriod2.default, { period: 'pm', color: pmColor })\n ),\n numStates === 1 && _react2.default.createElement('div', { className: this.cx({ element: \"FullDateStates\" }), style: style }),\n selectionModifier ? _react2.default.createElement(_CalendarSelection2.default, { modifier: selectionModifier, focused: focused, pending: pending }) : null,\n _react2.default.createElement(\n 'span',\n { className: this.cx({ element: \"DateLabel\" }) },\n date.format('D')\n ),\n highlightModifier ? _react2.default.createElement(_CalendarHighlight2.default, { modifier: highlightModifier }) : null\n );\n }\n});\n\nexports.default = CalendarDate;\n});\n\nunwrapExports(CalendarDate_1);\n\nvar PaginationArrow_1 = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _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; };\n\n\n\nvar _react2 = _interopRequireDefault(React__default);\n\n\n\nvar _propTypes2 = _interopRequireDefault(PropTypes__default);\n\n\n\nvar _createReactClass2 = _interopRequireDefault(createReactClass);\n\n\n\nvar _BemMixin2 = _interopRequireDefault(BemMixin_1);\n\n\n\nvar _reactAddonsPureRenderMixin2 = _interopRequireDefault(reactAddonsPureRenderMixin);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\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\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nvar PaginationArrow = (0, _createReactClass2.default)({\n mixins: [_BemMixin2.default, _reactAddonsPureRenderMixin2.default],\n displayName: \"PaginationArrow\",\n\n propTypes: {\n disabled: _propTypes2.default.bool,\n onTrigger: _propTypes2.default.func,\n direction: _propTypes2.default.oneOf(['next', 'previous'])\n },\n\n getDefaultProps: function getDefaultProps() {\n return {\n disabled: false\n };\n },\n render: function render() {\n var _props = this.props,\n disabled = _props.disabled,\n direction = _props.direction,\n onTrigger = _props.onTrigger,\n props = _objectWithoutProperties(_props, ['disabled', 'direction', 'onTrigger']);\n\n var modifiers = _defineProperty({}, direction, true);\n var states = { disabled: disabled };\n\n var elementOpts = {\n modifiers: modifiers,\n states: states\n };\n\n var iconOpts = {\n element: 'PaginationArrowIcon',\n modifiers: modifiers,\n states: states\n };\n\n return _react2.default.createElement(\n 'div',\n _extends({ className: this.cx(elementOpts) }, props, { onClick: onTrigger }),\n _react2.default.createElement('div', { className: this.cx(iconOpts) })\n );\n }\n});\n\nexports.default = PaginationArrow;\n});\n\nunwrapExports(PaginationArrow_1);\n\nvar areMomentValuesEqual = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (previousValue, nextValue) {\n var areBothMoment = _momentRange2.default.isMoment(previousValue) && _momentRange2.default.isMoment(nextValue);\n if (!areBothMoment) {\n return false;\n }\n\n return previousValue.isSame(nextValue);\n};\n\n\n\nvar _momentRange2 = _interopRequireDefault(momentRange$1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n});\n\nunwrapExports(areMomentValuesEqual);\n\nvar hasUpdatedValue = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (previousProps, nextProps) {\n var previousValue = previousProps.value;\n var nextValue = nextProps.value;\n\n return !(previousValue === nextValue || (0, _areMomentValuesEqual2.default)(previousValue, nextValue) || (0, _areMomentRangesEqual2.default)(previousValue, nextValue));\n};\n\n\n\nvar _areMomentRangesEqual2 = _interopRequireDefault(areMomentRangesEqual_1);\n\n\n\nvar _areMomentValuesEqual2 = _interopRequireDefault(areMomentValuesEqual);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n});\n\nunwrapExports(hasUpdatedValue);\n\nvar getYearMonth_1 = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getYearMonthProps = undefined;\nexports.getYearMonth = getYearMonth;\n\n\n\nvar _momentRange2 = _interopRequireDefault(momentRange$1);\n\n\n\nvar _isMomentRange2 = _interopRequireDefault(isMomentRange_1);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction getYearMonth(date) {\n if (!_momentRange2.default.isMoment(date)) {\n return undefined;\n }\n\n return { year: date.year(), month: date.month() };\n}\n\nvar getYearMonthProps = exports.getYearMonthProps = function getYearMonthProps(props) {\n var selectionType = props.selectionType,\n value = props.value,\n initialYear = props.initialYear,\n initialMonth = props.initialMonth;\n\n if (!(_momentRange2.default.isMoment(value) || (0, _isMomentRange2.default)(value))) {\n return { year: initialYear, month: initialMonth };\n }\n\n if (selectionType === 'single') {\n return getYearMonth(value);\n }\n\n return getYearMonth(value.start);\n};\n});\n\nunwrapExports(getYearMonth_1);\nvar getYearMonth_2 = getYearMonth_1.getYearMonthProps;\nvar getYearMonth_3 = getYearMonth_1.getYearMonth;\n\nvar DateRangePicker_1 = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _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; };\n\n\n\nvar _react2 = _interopRequireDefault(React__default);\n\n\n\nvar _propTypes2 = _interopRequireDefault(PropTypes__default);\n\n\n\nvar _createReactClass2 = _interopRequireDefault(createReactClass);\n\n\n\nvar _momentRange2 = _interopRequireDefault(momentRange$1);\n\n\n\nvar _immutable2 = _interopRequireDefault(immutable);\n\n\n\nvar _calendar2 = _interopRequireDefault(calendar);\n\n\n\nvar _BemMixin2 = _interopRequireDefault(BemMixin_1);\n\n\n\nvar _CustomPropTypes2 = _interopRequireDefault(CustomPropTypes);\n\n\n\nvar _Legend2 = _interopRequireDefault(Legend_1);\n\n\n\nvar _CalendarMonth2 = _interopRequireDefault(CalendarMonth_1);\n\n\n\nvar _CalendarDate2 = _interopRequireDefault(CalendarDate_1);\n\n\n\nvar _PaginationArrow2 = _interopRequireDefault(PaginationArrow_1);\n\n\n\nvar _isMomentRange2 = _interopRequireDefault(isMomentRange_1);\n\n\n\nvar _hasUpdatedValue2 = _interopRequireDefault(hasUpdatedValue);\n\n\n\n\n\nvar _reactAddonsPureRenderMixin2 = _interopRequireDefault(reactAddonsPureRenderMixin);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar absoluteMinimum = (0, _momentRange2.default)(new Date(-8640000000000000 / 2)).startOf('day');\nvar absoluteMaximum = (0, _momentRange2.default)(new Date(8640000000000000 / 2)).startOf('day');\n\nfunction noop() {}\n\nvar DIRECTIONS = {\n next: 'next',\n previous: 'previous'\n};\n\nvar DateRangePicker = (0, _createReactClass2.default)({\n mixins: [_BemMixin2.default, _reactAddonsPureRenderMixin2.default],\n displayName: \"DateRangePicker\",\n\n propTypes: {\n bemBlock: _propTypes2.default.string,\n bemNamespace: _propTypes2.default.string,\n className: _propTypes2.default.string,\n dateStates: _propTypes2.default.array, // an array of date ranges and their states\n defaultState: _propTypes2.default.string,\n disableNavigation: _propTypes2.default.bool,\n firstOfWeek: _propTypes2.default.oneOf([0, 1, 2, 3, 4, 5, 6]),\n helpMessage: _propTypes2.default.string,\n initialDate: _propTypes2.default.instanceOf(Date),\n initialFromValue: _propTypes2.default.bool,\n initialMonth: _propTypes2.default.number, // Overrides values derived from initialDate/initialRange\n initialRange: _propTypes2.default.object,\n initialYear: _propTypes2.default.number, // Overrides values derived from initialDate/initialRange\n locale: _propTypes2.default.string,\n maximumDate: _propTypes2.default.instanceOf(Date),\n minimumDate: _propTypes2.default.instanceOf(Date),\n numberOfCalendars: _propTypes2.default.number,\n onHighlightDate: _propTypes2.default.func, // triggered when a date is highlighted (hovered)\n onHighlightRange: _propTypes2.default.func, // triggered when a range is highlighted (hovered)\n onSelect: _propTypes2.default.func, // triggered when a date or range is selectec\n onSelectStart: _propTypes2.default.func, // triggered when the first date in a range is selected\n paginationArrowComponent: _propTypes2.default.func,\n selectedLabel: _propTypes2.default.string,\n selectionType: _propTypes2.default.oneOf(['single', 'range']),\n singleDateRange: _propTypes2.default.bool,\n showLegend: _propTypes2.default.bool,\n stateDefinitions: _propTypes2.default.object,\n value: _CustomPropTypes2.default.momentOrMomentRange,\n animate: _propTypes2.default.bool,\n animationAxis: _propTypes2.default.oneOf(['X', 'Y']),\n duration: _propTypes2.default.number,\n focusedElement: _propTypes2.default.oneOf(['start', 'end'])\n },\n\n getDefaultProps: function getDefaultProps() {\n var date = new Date();\n var initialDate = new Date(date.getFullYear(), date.getMonth(), date.getDate());\n\n return {\n bemNamespace: null,\n bemBlock: 'DateRangePicker',\n className: '',\n numberOfCalendars: 1,\n firstOfWeek: 0,\n disableNavigation: false,\n nextLabel: '',\n previousLabel: '',\n initialDate: initialDate,\n initialFromValue: true,\n locale: (0, _momentRange2.default)().locale(),\n selectionType: 'range',\n singleDateRange: false,\n stateDefinitions: {\n '__default': {\n color: null,\n selectable: true,\n label: null\n }\n },\n selectedLabel: \"Your selected dates\",\n defaultState: '__default',\n dateStates: [],\n showLegend: false,\n onSelect: noop,\n paginationArrowComponent: _PaginationArrow2.default,\n animate: true,\n animationAxis: 'X',\n duration: 500\n };\n },\n componentWillReceiveProps: function componentWillReceiveProps(nextProps) {\n var _this = this;\n\n var _props = this.props,\n numberOfCalendars = _props.numberOfCalendars,\n maximumDate = _props.maximumDate;\n\n var maxDate = new Date(maximumDate);\n var nextDateStates = this.getDateStates(nextProps);\n var nextEnabledRange = this.getEnabledRange(nextProps);\n var value = nextProps.value;\n\n value = (0, _isMomentRange2.default)(value) ? value.start : value;\n\n var updatedState = {\n selectedStartDate: this.state.selectedStartDate,\n hideSelection: !!this.state.selectedStartDate,\n dateStates: this.state.dateStates && _immutable2.default.is(this.state.dateStates, nextDateStates) ? this.state.dateStates : nextDateStates,\n enabledRange: this.state.enabledRange && this.state.enabledRange.isSame(nextEnabledRange) ? this.state.enabledRange : nextEnabledRange,\n highlightedRange: !this.state.selectedStartDate\n };\n\n if ((0, _hasUpdatedValue2.default)(this.props, nextProps)) {\n if (this.state.selectedStartDate) {\n updatedState.hideSelection = false;\n updatedState.selectedStartDate = null;\n this.setState({\n highlightedRange: nextProps.value\n }, function () {\n return _this.completeSelection();\n });\n }\n\n if (!nextProps.value || !this.isStartOrEndVisible(nextProps)) {\n var yearMonth = (0, getYearMonth_1.getYearMonthProps)(nextProps);\n\n updatedState.year = yearMonth.year;\n updatedState.month = yearMonth.month;\n }\n\n if (numberOfCalendars > 1 && maxDate && maxDate.getFullYear() === +value.format('YYYY') && maxDate.getMonth() === +value.format('M') - 1) {\n var momentDate = (0, _momentRange2.default)(maxDate).subtract(numberOfCalendars, 'month');\n updatedState.year = +momentDate.format('YYYY');\n updatedState.month = +momentDate.format('M');\n }\n }\n\n this.setState(updatedState);\n },\n getInitialState: function getInitialState() {\n var now = new Date();\n var _props2 = this.props,\n initialYear = _props2.initialYear,\n initialMonth = _props2.initialMonth,\n initialFromValue = _props2.initialFromValue,\n value = _props2.value;\n\n var year = now.getFullYear();\n var month = now.getMonth();\n\n if (Number.isInteger(initialYear) && Number.isInteger(initialMonth)) {\n year = initialYear;\n month = initialMonth;\n }\n\n if (initialFromValue && (_momentRange2.default.isMoment(value) || (0, _isMomentRange2.default)(value))) {\n var yearMonth = (0, getYearMonth_1.getYearMonthProps)(this.props);\n month = yearMonth.month;\n year = yearMonth.year;\n }\n\n return {\n year: year,\n month: month,\n selectedStartDate: null,\n highlightedDate: null,\n highlightRange: null,\n hideSelection: false,\n enabledRange: this.getEnabledRange(this.props),\n dateStates: this.getDateStates(this.props),\n direction: ''\n };\n },\n getEnabledRange: function getEnabledRange(props) {\n var min = props.minimumDate ? (0, _momentRange2.default)(props.minimumDate).startOf('day') : absoluteMinimum;\n var max = props.maximumDate ? (0, _momentRange2.default)(props.maximumDate).startOf('day') : absoluteMaximum;\n\n return _momentRange2.default.range(min, max);\n },\n getDateStates: function getDateStates(props) {\n var dateStates = props.dateStates,\n defaultState = props.defaultState,\n stateDefinitions = props.stateDefinitions;\n\n var actualStates = [];\n var minDate = absoluteMinimum;\n var maxDate = absoluteMaximum;\n var dateCursor = (0, _momentRange2.default)(minDate).startOf('day');\n\n var defs = _immutable2.default.fromJS(stateDefinitions);\n\n dateStates.forEach(function (s) {\n var r = s.range;\n var start = r.start.startOf('day');\n var end = r.end.startOf('day');\n\n if (!dateCursor.isSame(start, 'day')) {\n actualStates.push({\n state: defaultState,\n range: _momentRange2.default.range(dateCursor, start)\n });\n }\n actualStates.push(s);\n dateCursor = end;\n });\n\n actualStates.push({\n state: defaultState,\n range: _momentRange2.default.range(dateCursor, maxDate)\n });\n\n // sanitize date states\n return _immutable2.default.List(actualStates).map(function (s) {\n var def = defs.get(s.state);\n return _immutable2.default.Map({\n range: s.range,\n state: s.state,\n selectable: def.get('selectable', true),\n color: def.get('color')\n });\n });\n },\n isDateDisabled: function isDateDisabled(date) {\n return !this.state.enabledRange.contains(date);\n },\n isDateSelectable: function isDateSelectable(date) {\n return this.dateRangesForDate(date).some(function (r) {\n return r.get('selectable');\n });\n },\n nonSelectableStateRanges: function nonSelectableStateRanges() {\n return this.state.dateStates.filter(function (d) {\n return !d.get('selectable');\n });\n },\n dateRangesForDate: function dateRangesForDate(date) {\n return this.state.dateStates.filter(function (d) {\n return d.get('range').contains(date);\n });\n },\n sanitizeRange: function sanitizeRange(range, forwards) {\n /* Truncates the provided range at the first intersection\n * with a non-selectable state. Using forwards to determine\n * which direction to work\n */\n var blockedRanges = this.nonSelectableStateRanges().map(function (r) {\n return r.get('range');\n });\n var intersect = void 0;\n\n if (forwards) {\n intersect = blockedRanges.find(function (r) {\n return range.intersect(r);\n });\n if (intersect) {\n return _momentRange2.default.range(range.start, intersect.start);\n }\n } else {\n intersect = blockedRanges.findLast(function (r) {\n return range.intersect(r);\n });\n\n if (intersect) {\n return _momentRange2.default.range(intersect.end, range.end);\n }\n }\n\n if (range.start.isBefore(this.state.enabledRange.start)) {\n return _momentRange2.default.range(this.state.enabledRange.start, range.end);\n }\n\n if (range.end.isAfter(this.state.enabledRange.end)) {\n return _momentRange2.default.range(range.start, this.state.enabledRange.end);\n }\n\n return range;\n },\n highlightRange: function highlightRange(range) {\n this.setState({\n highlightedRange: range,\n highlightedDate: null\n });\n if (typeof this.props.onHighlightRange === 'function') {\n this.props.onHighlightRange(range, this.statesForRange(range));\n }\n },\n onUnHighlightDate: function onUnHighlightDate() {\n this.setState({\n highlightedDate: null\n });\n },\n onSelectDate: function onSelectDate(date) {\n var selectionType = this.props.selectionType;\n var selectedStartDate = this.state.selectedStartDate;\n\n\n if (selectionType === 'range') {\n if (selectedStartDate) {\n this.completeRangeSelection();\n } else if (date && !this.isDateDisabled(date) && this.isDateSelectable(date)) {\n this.startRangeSelection(date);\n if (this.props.singleDateRange) {\n this.highlightRange(_momentRange2.default.range(date, date));\n }\n }\n } else {\n if (!this.isDateDisabled(date) && this.isDateSelectable(date)) {\n this.completeSelection();\n }\n }\n },\n onHighlightDate: function onHighlightDate(date) {\n var selectionType = this.props.selectionType;\n var selectedStartDate = this.state.selectedStartDate;\n\n\n var datePair = void 0;\n var range = void 0;\n var forwards = void 0;\n\n if (selectionType === 'range') {\n if (selectedStartDate) {\n datePair = _immutable2.default.List.of(selectedStartDate, date).sortBy(function (d) {\n return d.unix();\n });\n range = _momentRange2.default.range(datePair.get(0), datePair.get(1));\n forwards = range.start.unix() === selectedStartDate.unix();\n range = this.sanitizeRange(range, forwards);\n this.highlightRange(range);\n } else if (!this.isDateDisabled(date) && this.isDateSelectable(date)) {\n this.highlightDate(date);\n }\n } else {\n if (!this.isDateDisabled(date) && this.isDateSelectable(date)) {\n this.highlightDate(date);\n }\n }\n },\n startRangeSelection: function startRangeSelection(date) {\n this.setState({\n hideSelection: true,\n selectedStartDate: date\n });\n if (typeof this.props.onSelectStart === 'function') {\n this.props.onSelectStart((0, _momentRange2.default)(date));\n }\n },\n statesForDate: function statesForDate(date) {\n return this.state.dateStates.filter(function (d) {\n return date.within(d.get('range'));\n }).map(function (d) {\n return d.get('state');\n });\n },\n statesForRange: function statesForRange(range) {\n if (range.start.isSame(range.end, 'day')) {\n return this.statesForDate(range.start);\n }\n return this.state.dateStates.filter(function (d) {\n return d.get('range').intersect(range);\n }).map(function (d) {\n return d.get('state');\n });\n },\n completeSelection: function completeSelection() {\n var highlightedDate = this.state.highlightedDate;\n if (highlightedDate) {\n this.setState({\n hideSelection: false,\n highlightedDate: null\n });\n this.props.onSelect(highlightedDate, this.statesForDate(highlightedDate));\n }\n },\n completeRangeSelection: function completeRangeSelection() {\n var range = this.state.highlightedRange;\n\n if (range && (!range.start.isSame(range.end, 'day') || this.props.singleDateRange)) {\n this.setState({\n selectedStartDate: null,\n highlightedRange: null,\n highlightedDate: null,\n hideSelection: false\n });\n this.props.onSelect(range, this.statesForRange(range));\n }\n },\n highlightDate: function highlightDate(date) {\n this.setState({\n highlightedDate: date\n });\n if (typeof this.props.onHighlightDate === 'function') {\n this.props.onHighlightDate(date, this.statesForDate(date));\n }\n },\n getMonthDate: function getMonthDate() {\n return (0, _momentRange2.default)(new Date(this.state.year, this.state.month, 1));\n },\n isStartOrEndVisible: function isStartOrEndVisible(props) {\n var _this2 = this;\n\n var value = props.value,\n selectionType = props.selectionType,\n numberOfCalendars = props.numberOfCalendars;\n\n\n var isVisible = function isVisible(date) {\n var yearMonth = (0, getYearMonth_1.getYearMonth)(date);\n var isSameYear = yearMonth.year === _this2.state.year;\n var isMonthVisible = yearMonth.month === _this2.state.month || numberOfCalendars === 2 && yearMonth.month - 1 === _this2.state.month;\n\n return isSameYear && isMonthVisible;\n };\n\n if (selectionType === 'single') {\n return isVisible(value);\n }\n\n return isVisible(value.start) || isVisible(value.end);\n },\n canMoveBack: function canMoveBack() {\n if (this.getMonthDate().subtract(1, 'days').isBefore(this.state.enabledRange.start)) {\n return false;\n }\n return true;\n },\n moveBack: function moveBack() {\n var monthDate = void 0;\n\n if (this.canMoveBack()) {\n monthDate = this.getMonthDate();\n monthDate.subtract(1, 'months');\n\n this.animate(DIRECTIONS.previous, monthDate);\n }\n },\n canMoveForward: function canMoveForward() {\n if (this.getMonthDate().add(this.props.numberOfCalendars, 'months').isAfter(this.state.enabledRange.end)) {\n return false;\n }\n return true;\n },\n moveForward: function moveForward() {\n var monthDate = void 0;\n\n if (this.canMoveForward()) {\n monthDate = this.getMonthDate();\n monthDate.add(1, 'months');\n\n this.animate(DIRECTIONS.next, monthDate);\n }\n },\n animate: function animate(direction, monthDate) {\n var _this3 = this;\n\n var _props3 = this.props,\n animate = _props3.animate,\n duration = _props3.duration;\n\n\n if (animate) {\n this.setState({\n direction: direction\n });\n\n setTimeout(function () {\n _this3.setState(_extends({}, (0, getYearMonth_1.getYearMonth)(monthDate), {\n direction: ''\n }));\n }, duration);\n } else {\n this.setState((0, getYearMonth_1.getYearMonth)(monthDate));\n }\n },\n changeYear: function changeYear(year) {\n var _state = this.state,\n enabledRange = _state.enabledRange,\n month = _state.month;\n\n\n if ((0, _momentRange2.default)({ years: year, months: month, date: 1 }).unix() < enabledRange.start.unix()) {\n month = enabledRange.start.month();\n }\n\n if ((0, _momentRange2.default)({ years: year, months: month + 1, date: 1 }).unix() > enabledRange.end.unix()) {\n month = enabledRange.end.month();\n }\n\n this.setState({\n year: year,\n month: month\n });\n },\n changeMonth: function changeMonth(date) {\n var _state2 = this.state,\n enabledRange = _state2.enabledRange,\n year = _state2.year;\n\n\n if ((0, _momentRange2.default)({ years: year, months: date, date: 1 }).unix() < enabledRange.start.unix()) {\n year += 1;\n }\n\n this.setState({\n month: date,\n year: year\n });\n },\n rangesOverlap: function rangesOverlap(rangeA, rangeB) {\n if (rangeA.overlaps(rangeB) || rangeA.contains(rangeB.start) || rangeA.contains(rangeB.end)) {\n return true;\n }\n return false;\n },\n renderCalendar: function renderCalendar(index) {\n var _props4 = this.props,\n bemBlock = _props4.bemBlock,\n bemNamespace = _props4.bemNamespace,\n firstOfWeek = _props4.firstOfWeek,\n numberOfCalendars = _props4.numberOfCalendars,\n selectionType = _props4.selectionType,\n value = _props4.value;\n var _state3 = this.state,\n dateStates = _state3.dateStates,\n enabledRange = _state3.enabledRange,\n hideSelection = _state3.hideSelection,\n highlightedDate = _state3.highlightedDate,\n highlightedRange = _state3.highlightedRange;\n\n var monthDate = this.getMonthDate();\n var year = monthDate.year();\n var month = monthDate.month();\n var key = index + '-' + year + '-' + month;\n var props = void 0;\n\n monthDate.add(index, 'months');\n\n var cal = new _calendar2.default.Calendar(firstOfWeek);\n var monthDates = _immutable2.default.fromJS(cal.monthDates(monthDate.year(), monthDate.month()));\n var monthStart = monthDates.first().first();\n var monthEnd = monthDates.last().last();\n var monthRange = _momentRange2.default.range(monthStart, monthEnd);\n\n if (_momentRange2.default.isMoment(value) && !monthRange.contains(value)) {\n value = null;\n } else if ((0, _isMomentRange2.default)(value) && !this.rangesOverlap(monthRange, value)) {\n value = null;\n }\n\n if (!_momentRange2.default.isMoment(highlightedDate) || !monthRange.contains(highlightedDate)) {\n highlightedDate = null;\n }\n\n if (!(0, _isMomentRange2.default)(highlightedRange) || !this.rangesOverlap(monthRange, highlightedRange)) {\n highlightedRange = null;\n }\n\n props = {\n bemBlock: bemBlock,\n bemNamespace: bemNamespace,\n dateStates: dateStates,\n enabledRange: enabledRange,\n firstOfWeek: firstOfWeek,\n hideSelection: hideSelection,\n highlightedDate: highlightedDate,\n highlightedRange: highlightedRange,\n index: index,\n key: key,\n selectionType: selectionType,\n value: value,\n maxIndex: numberOfCalendars - 1,\n firstOfMonth: monthDate,\n onMonthChange: this.changeMonth,\n onYearChange: this.changeYear,\n onSelectDate: this.onSelectDate,\n onHighlightDate: this.onHighlightDate,\n onUnHighlightDate: this.onUnHighlightDate,\n dateRangesForDate: this.dateRangesForDate,\n dateComponent: _CalendarDate2.default,\n locale: this.props.locale,\n focusedElement: this.props.focusedElement\n };\n\n return _react2.default.createElement(_CalendarMonth2.default, props);\n },\n getStyle: function getStyle() {\n var direction = this.state.direction;\n var animate = this.props.animate;\n\n\n if (!direction || !animate) {\n return null;\n }\n\n var _props5 = this.props,\n numberOfCalendars = _props5.numberOfCalendars,\n duration = _props5.duration,\n animationAxis = _props5.animationAxis;\n\n\n var style = void 0;\n\n switch (direction) {\n case DIRECTIONS.next:\n {\n style = {\n transition: 'transform ' + duration + 'ms',\n transform: 'translate' + animationAxis + '(-' + 100 / numberOfCalendars + '%)'\n };\n break;\n }\n case DIRECTIONS.previous:\n {\n style = {\n transition: 'transform ' + duration + 'ms',\n transform: 'translate' + animationAxis + '(' + 100 / numberOfCalendars + '%)'\n };\n break;\n }\n }\n\n return style;\n },\n\n\n render: function render() {\n var _props6 = this.props,\n PaginationArrowComponent = _props6.paginationArrowComponent,\n className = _props6.className,\n numberOfCalendars = _props6.numberOfCalendars,\n stateDefinitions = _props6.stateDefinitions,\n selectedLabel = _props6.selectedLabel,\n showLegend = _props6.showLegend,\n helpMessage = _props6.helpMessage;\n\n\n var wrapperStyle = this.getStyle();\n\n var calendars = _immutable2.default.Range(-1, numberOfCalendars + 1).map(this.renderCalendar);\n className = this.cx({ element: null }) + ' ' + className;\n\n return _react2.default.createElement(\n 'div',\n { className: className.trim() },\n _react2.default.createElement(PaginationArrowComponent, { direction: 'previous', onTrigger: this.moveBack, disabled: !this.canMoveBack() }),\n _react2.default.createElement(\n 'div',\n { className: this.cx({ element: 'MonthWrapper' }) },\n _react2.default.createElement(\n 'div',\n { className: this.cx({ element: 'MonthInnerWrapper' }), style: wrapperStyle },\n calendars.toJS()\n )\n ),\n _react2.default.createElement(PaginationArrowComponent, { direction: 'next', onTrigger: this.moveForward, disabled: !this.canMoveForward() }),\n helpMessage ? _react2.default.createElement(\n 'span',\n { className: this.cx({ element: 'HelpMessage' }) },\n helpMessage\n ) : null,\n showLegend ? _react2.default.createElement(_Legend2.default, { stateDefinitions: stateDefinitions, selectedLabel: selectedLabel }) : null\n );\n }\n});\n\nexports.default = DateRangePicker;\n});\n\nvar DateRangePicker = unwrapExports(DateRangePicker_1);\n\nfunction _objectWithoutPropertiesLoose$1(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nvar config = {\n disabled: false\n};\n\nvar timeoutsShape = process.env.NODE_ENV !== 'production' ? PropTypes__default.oneOfType([PropTypes__default.number, PropTypes__default.shape({\n enter: PropTypes__default.number,\n exit: PropTypes__default.number,\n appear: PropTypes__default.number\n}).isRequired]) : null;\nvar classNamesShape = process.env.NODE_ENV !== 'production' ? PropTypes__default.oneOfType([PropTypes__default.string, PropTypes__default.shape({\n enter: PropTypes__default.string,\n exit: PropTypes__default.string,\n active: PropTypes__default.string\n}), PropTypes__default.shape({\n enter: PropTypes__default.string,\n enterDone: PropTypes__default.string,\n enterActive: PropTypes__default.string,\n exit: PropTypes__default.string,\n exitDone: PropTypes__default.string,\n exitActive: PropTypes__default.string\n})]) : null;\n\nvar TransitionGroupContext = React__default.createContext(null);\n\nvar UNMOUNTED = 'unmounted';\nvar EXITED = 'exited';\nvar ENTERING = 'entering';\nvar ENTERED = 'entered';\nvar EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 1 },\n * entered: { opacity: 1 },\n * exiting: { opacity: 0 },\n * exited: { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * \n * {state => (\n * \n * I'm a fade Transition!\n *
\n * )}\n * \n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n * \n * \n * {state => (\n * // ...\n * )}\n * \n * \n *
\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n if (nextStatus === ENTERING) {\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit() {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose$1(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n return (\n /*#__PURE__*/\n // allows for nested Transitions\n React__default.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React__default.cloneElement(React__default.Children.only(children), childProps))\n );\n };\n\n return Transition;\n}(React__default.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A React reference to DOM element that need to transition:\n * https://stackoverflow.com/a/51127130/4671932\n *\n * - When `nodeRef` prop is used, `node` is not passed to callback functions\n * (e.g. `onEnter`) because user already has direct access to the node.\n * - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n * `nodeRef` need to be provided to `Transition` with changed `key` prop\n * (see\n * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n */\n nodeRef: PropTypes__default.shape({\n current: typeof Element === 'undefined' ? PropTypes__default.any : PropTypes__default.instanceOf(Element)\n }),\n\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * \n * {state => (\n * \n * )}\n * \n * ```\n */\n children: PropTypes__default.oneOfType([PropTypes__default.func.isRequired, PropTypes__default.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes__default.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes__default.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes__default.bool,\n\n /**\n * By default the child component does not perform the enter transition when\n * it first mounts, regardless of the value of `in`. If you want this\n * behavior, set both `appear` and `in` to `true`.\n *\n * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n * > only adds an additional enter transition. However, in the\n * > `` component that first enter transition does result in\n * > additional `.appear-*` classes, that way you can choose to style it\n * > differently.\n */\n appear: PropTypes__default.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes__default.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes__default.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. Timeouts are still used as a fallback if provided.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes__default.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes__default.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes__default.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes__default.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes__default.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes__default.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes__default.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\n\n/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nvar b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}var AsyncMode=l;var ConcurrentMode=m;var ContextConsumer=k;var ContextProvider=h;var Element$1=c;var ForwardRef=n;var Fragment=e;var Lazy=t;var Memo=r;var Portal=d;\nvar Profiler=g;var StrictMode=f;var Suspense=p;var isAsyncMode=function(a){return A(a)||z(a)===l};var isConcurrentMode=A;var isContextConsumer=function(a){return z(a)===k};var isContextProvider=function(a){return z(a)===h};var isElement=function(a){return \"object\"===typeof a&&null!==a&&a.$$typeof===c};var isForwardRef=function(a){return z(a)===n};var isFragment=function(a){return z(a)===e};var isLazy=function(a){return z(a)===t};\nvar isMemo=function(a){return z(a)===r};var isPortal=function(a){return z(a)===d};var isProfiler=function(a){return z(a)===g};var isStrictMode=function(a){return z(a)===f};var isSuspense=function(a){return z(a)===p};\nvar isValidElementType=function(a){return \"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};var typeOf=z;\n\nvar reactIs_production_min = {\n\tAsyncMode: AsyncMode,\n\tConcurrentMode: ConcurrentMode,\n\tContextConsumer: ContextConsumer,\n\tContextProvider: ContextProvider,\n\tElement: Element$1,\n\tForwardRef: ForwardRef,\n\tFragment: Fragment,\n\tLazy: Lazy,\n\tMemo: Memo,\n\tPortal: Portal,\n\tProfiler: Profiler,\n\tStrictMode: StrictMode,\n\tSuspense: Suspense,\n\tisAsyncMode: isAsyncMode,\n\tisConcurrentMode: isConcurrentMode,\n\tisContextConsumer: isContextConsumer,\n\tisContextProvider: isContextProvider,\n\tisElement: isElement,\n\tisForwardRef: isForwardRef,\n\tisFragment: isFragment,\n\tisLazy: isLazy,\n\tisMemo: isMemo,\n\tisPortal: isPortal,\n\tisProfiler: isProfiler,\n\tisStrictMode: isStrictMode,\n\tisSuspense: isSuspense,\n\tisValidElementType: isValidElementType,\n\ttypeOf: typeOf\n};\n\nvar reactIs_development = createCommonjsModule(function (module, exports) {\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n});\nvar reactIs_development_1 = reactIs_development.AsyncMode;\nvar reactIs_development_2 = reactIs_development.ConcurrentMode;\nvar reactIs_development_3 = reactIs_development.ContextConsumer;\nvar reactIs_development_4 = reactIs_development.ContextProvider;\nvar reactIs_development_5 = reactIs_development.Element;\nvar reactIs_development_6 = reactIs_development.ForwardRef;\nvar reactIs_development_7 = reactIs_development.Fragment;\nvar reactIs_development_8 = reactIs_development.Lazy;\nvar reactIs_development_9 = reactIs_development.Memo;\nvar reactIs_development_10 = reactIs_development.Portal;\nvar reactIs_development_11 = reactIs_development.Profiler;\nvar reactIs_development_12 = reactIs_development.StrictMode;\nvar reactIs_development_13 = reactIs_development.Suspense;\nvar reactIs_development_14 = reactIs_development.isAsyncMode;\nvar reactIs_development_15 = reactIs_development.isConcurrentMode;\nvar reactIs_development_16 = reactIs_development.isContextConsumer;\nvar reactIs_development_17 = reactIs_development.isContextProvider;\nvar reactIs_development_18 = reactIs_development.isElement;\nvar reactIs_development_19 = reactIs_development.isForwardRef;\nvar reactIs_development_20 = reactIs_development.isFragment;\nvar reactIs_development_21 = reactIs_development.isLazy;\nvar reactIs_development_22 = reactIs_development.isMemo;\nvar reactIs_development_23 = reactIs_development.isPortal;\nvar reactIs_development_24 = reactIs_development.isProfiler;\nvar reactIs_development_25 = reactIs_development.isStrictMode;\nvar reactIs_development_26 = reactIs_development.isSuspense;\nvar reactIs_development_27 = reactIs_development.isValidElementType;\nvar reactIs_development_28 = reactIs_development.typeOf;\n\nvar reactIs = createCommonjsModule(function (module) {\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = reactIs_production_min;\n} else {\n module.exports = reactIs_development;\n}\n});\nvar reactIs_1 = reactIs.isValidElementType;\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty$1 = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols$1 = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf$1 = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf$1(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols$1) {\n keys = keys.concat(getOwnPropertySymbols$1(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty$1(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nvar hoistNonReactStatics_cjs = hoistNonReactStatics;\n\nfunction _createSuper$6(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$6(); return function _createSuperInternal() { var Super = getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$6() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction withClickOutside(WrappedComponent) {\n var EnhancedComponent = /*#__PURE__*/function (_React$Component) {\n inherits(EnhancedComponent, _React$Component);\n\n var _super = _createSuper$6(EnhancedComponent);\n\n function EnhancedComponent(props) {\n var _this;\n\n classCallCheck(this, EnhancedComponent);\n\n _this = _super.call(this, props);\n _this.__domNode = void 0;\n _this.__wrappedInstance = void 0;\n _this.handleClickOutside = void 0;\n\n _this.handleClickOutside = function (e) {\n var domNode = _this.__domNode;\n\n if ((!domNode || !domNode.contains(e.target)) && _this.__wrappedInstance && typeof _this.__wrappedInstance.handleClickOutside === 'function') {\n _this.__wrappedInstance.handleClickOutside(e);\n }\n };\n\n _this.handleClickOutside = _this.handleClickOutside.bind(assertThisInitialized(_this));\n return _this;\n }\n\n createClass(EnhancedComponent, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n document.addEventListener('click', this.handleClickOutside, true);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n document.removeEventListener('click', this.handleClickOutside, true);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props = this.props,\n wrappedRef = _this$props.wrappedRef,\n rest = objectWithoutProperties(_this$props, [\"wrappedRef\"]);\n\n return /*#__PURE__*/React__default.createElement(WrappedComponent, _extends_1({}, rest, {\n ref: function ref(c) {\n _this2.__wrappedInstance = c;\n _this2.__domNode = ReactDOM.findDOMNode(c);\n wrappedRef && wrappedRef(c);\n }\n }));\n }\n }]);\n\n return EnhancedComponent;\n }(React__default.Component);\n\n EnhancedComponent.displayName = \"withClickOutside(\".concat(WrappedComponent.displayName || WrappedComponent.name, \")\");\n return typeof WrappedComponent === 'function' ? EnhancedComponent : hoistNonReactStatics_cjs(EnhancedComponent, WrappedComponent);\n}\n\nvar Tabs = function Tabs(props) {\n var className = props.className,\n value = props.value,\n _props$items = props.items,\n items = _props$items === void 0 ? [] : _props$items,\n _props$onChange = props.onChange,\n onChange = _props$onChange === void 0 ? function () {} : _props$onChange,\n variant = props.variant;\n var tabClasses = useCallback(function (variant, active) {\n if (variant === 'capsule') {\n return \"tabs__item _capsule \".concat(active ? '_active' : '');\n } else if (variant === 'text') {\n return \"tabs__item _text \".concat(active ? '_active' : '');\n } else {\n return \"tabs__item _btn \".concat(active ? '_active' : '');\n }\n }, []);\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"tabs \".concat(className, \" \").concat(variant === 'normal' ? '_underline' : '')\n }, items.map(function (item, index) {\n var active = item.value === value;\n return /*#__PURE__*/React__default.createElement(\"button\", {\n key: index,\n onClick: function onClick() {\n return onChange(item);\n },\n className: tabClasses(variant, active),\n \"data-placeholder\": item.title\n }, item.title, item.subTitle ? /*#__PURE__*/React__default.createElement(\"span\", {\n className: \"subtitle\"\n }, item.subTitle) : null);\n }));\n};\nTabs.defaultProps = {\n variant: 'normal',\n className: ''\n};\nTabs.propTypes = {\n className: PropTypes__default.string,\n value: PropTypes__default.any,\n items: PropTypes__default.arrayOf(PropTypes__default.shape({\n title: PropTypes__default.oneOfType([PropTypes__default.string, PropTypes__default.element]),\n subTitle: PropTypes__default.oneOfType([PropTypes__default.string, PropTypes__default.element]),\n value: PropTypes__default.any\n })),\n onChange: PropTypes__default.func,\n variant: PropTypes__default.oneOf(['text', 'capsule', 'normal'])\n};\n\nfunction momentOrDatePropCheck(props, propName) {\n var val = props[propName];\n\n if (!val) {\n return null;\n } else if (isMoment(val)) {\n return null;\n } else if (val instanceof Date) {\n return null;\n }\n\n return new Error(\"'\".concat(propName, \"' must be a moment or Date\"));\n}\n\nvar css_248z$5 = \":root {\\n --primary1: #123787;\\n --primary2: #1d58d7;\\n --primary3: #5173fb;\\n --primary4: #7a93ff;\\n --primary5: #c2d0ff;\\n --primary6: #e5ebff;\\n --primary7: #f2f5ff; }\\n\\n.TimePicker-module_container__1Szpk {\\n display: flex;\\n flex-direction: column;\\n position: relative; }\\n .TimePicker-module_container__1Szpk.TimePicker-module_withTabs__nHUlT {\\n font-size: 12px;\\n line-height: 18px; }\\n .TimePicker-module_container__1Szpk.TimePicker-module_withTabs__nHUlT .TimePicker-module_mode__32WtN {\\n left: auto;\\n right: 0; }\\n .TimePicker-module_container__1Szpk.TimePicker-module_withTabs__nHUlT .TimePicker-module_time__1Gy-1 {\\n left: 0;\\n right: auto; }\\n\\n.TimePicker-module_button__3OKj9 {\\n position: absolute;\\n top: 0;\\n color: var(--primary2);\\n text-transform: capitalize;\\n cursor: pointer;\\n display: inline-block;\\n padding: 0;\\n z-index: 2;\\n user-select: none; }\\n .TimePicker-module_buttonMeridiem__3oT5x {\\n left: 0;\\n padding-left: 0;\\n text-transform: uppercase; }\\n .TimePicker-module_buttonView__3xTKu {\\n right: 0;\\n padding-right: 0; }\\n\\n.TimePicker-module_mode__32WtN {\\n position: absolute;\\n top: 0;\\n display: inline-block;\\n padding: 0;\\n z-index: 2; }\\n\\n.TimePicker-module_time__1Gy-1 {\\n position: absolute;\\n top: 0;\\n right: 0;\\n padding: 0;\\n font-family: \\\"Avenir Next Regular\\\", sans-serif;\\n font-weight: 400; }\\n\";\nvar styles$5 = {\"container\":\"TimePicker-module_container__1Szpk\",\"withTabs\":\"TimePicker-module_withTabs__nHUlT\",\"mode\":\"TimePicker-module_mode__32WtN\",\"time\":\"TimePicker-module_time__1Gy-1\",\"button\":\"TimePicker-module_button__3OKj9\",\"buttonMeridiem\":\"TimePicker-module_buttonMeridiem__3oT5x\",\"buttonView\":\"TimePicker-module_buttonView__3xTKu\"};\nstyleInject(css_248z$5);\n\nvar css_248z$6 = \":root {\\n --primary1: #123787;\\n --primary2: #1d58d7;\\n --primary3: #5173fb;\\n --primary4: #7a93ff;\\n --primary5: #c2d0ff;\\n --primary6: #e5ebff;\\n --primary7: #f2f5ff; }\\n\\n.ClockNumber-module_clockNumber__2YJoK {\\n width: 32px;\\n height: 32px;\\n user-select: none;\\n position: absolute;\\n left: calc(50% - (32px / 2));\\n display: inline-flex;\\n justify-content: center;\\n align-items: center;\\n border-radius: 50%; }\\n .ClockNumber-module_clockNumberSelected__1k-Og {\\n color: #ffffff; }\\n .ClockNumber-module_clockNumber-sm__3SO73 {\\n font-size: 20px;\\n font-family: \\\"Avenir Next Regular\\\", sans-serif;\\n font-weight: 400; }\\n\";\nvar styles$6 = {\"clockNumber\":\"ClockNumber-module_clockNumber__2YJoK\",\"clockNumberSelected\":\"ClockNumber-module_clockNumberSelected__1k-Og\",\"clockNumber-sm\":\"ClockNumber-module_clockNumber-sm__3SO73\"};\nstyleInject(css_248z$6);\n\nvar positions = {\n 0: [0, 40],\n 1: [55, 19.6],\n 2: [94.4, 59.5],\n 3: [109, 114],\n 4: [94.4, 168.5],\n 5: [54.5, 208.4],\n 6: [0, 223],\n 7: [-54.5, 208.4],\n 8: [-94.4, 168.5],\n 9: [-109, 114],\n 10: [-94.4, 59.5],\n 11: [-54.5, 19.6],\n 12: [0, 5],\n 13: [36.9, 49.9],\n 14: [64, 77],\n 15: [74, 114],\n 16: [64, 151],\n 17: [37, 178],\n 18: [0, 188],\n 19: [-37, 178],\n 20: [-64, 151],\n 21: [-74, 114],\n 22: [-64, 77],\n 23: [-37, 50]\n};\nvar memoizeTransform = memoize(function (index) {\n var position = positions[index];\n return {\n transform: \"translate(\".concat(position[0], \"px, \").concat(position[1], \"px\")\n };\n});\nvar ClockNumber = function ClockNumber(_ref) {\n var selected = _ref.selected,\n label = _ref.label,\n index = _ref.index,\n size = _ref.size;\n var transformStyle = memoizeTransform(index);\n return /*#__PURE__*/React__default.createElement(\"span\", {\n className: \"\".concat(styles$6.clockNumber, \" \").concat(size ? styles$6[\"clockNumber-\".concat(size)] : '', \" \").concat(selected ? styles$6.clockNumberSelected : ''),\n style: transformStyle\n }, label);\n};\nClockNumber.propTypes = {\n selected: PropTypes__default.bool,\n label: PropTypes__default.string,\n index: PropTypes__default.number,\n size: PropTypes__default.oneOf(['sm', ''])\n};\n\nvar ClockTypes = {\n HOURS: 'hours',\n MINUTES: 'minutes',\n SECONDS: 'seconds'\n};\nfunction arrayIncludes(array, itemOrItems) {\n if (Array.isArray(itemOrItems)) {\n return itemOrItems.every(function (item) {\n return array.indexOf(item) !== -1;\n });\n }\n\n return array.indexOf(itemOrItems) !== -1;\n}\n\nvar getMoment = function getMoment(date) {\n if (moment$1__default.isMoment(date)) {\n return date;\n }\n\n return moment$1__default(date);\n};\n\nvar getHoursValue = function getHoursValue(d) {\n var date = getMoment(d);\n return date.hour();\n};\nvar getMinutesValue = function getMinutesValue(d) {\n var date = getMoment(d);\n return date.minute();\n};\nvar getSecondsValue = function getSecondsValue(d) {\n var date = getMoment(d);\n return date.second();\n};\nvar setHoursValue = function setHoursValue(t, hours) {\n var time = getMoment(t);\n return time.set('h', hours);\n};\nvar setMinutesValue = function setMinutesValue(t, minutes) {\n var time = getMoment(t);\n return time.set('m', minutes);\n};\nvar setSecondsValue = function setSecondsValue(t, seconds) {\n var time = getMoment(t);\n return time.set('s', seconds);\n};\n\nvar getHourNumbers = function getHourNumbers(_ref) {\n var ampm = _ref.ampm,\n date = _ref.date,\n size = _ref.size;\n var currentHours = getHoursValue(date);\n var hourNumbers = [];\n var startHour = ampm ? 1 : 0;\n var endHour = ampm ? 12 : 23;\n\n var isSelected = function isSelected(hour) {\n if (ampm) {\n if (hour === 12) {\n return currentHours === 12 || currentHours === 0;\n }\n\n return currentHours === hour || currentHours - 12 === hour;\n }\n\n return currentHours === hour;\n };\n\n for (var hour = startHour; hour <= endHour; hour += 1) {\n var label = hour.toString();\n\n if (hour === 0) {\n label = '00';\n }\n\n var props = {\n index: hour,\n label: label,\n selected: isSelected(hour),\n size: size\n };\n hourNumbers.push( /*#__PURE__*/React__default.createElement(ClockNumber, _extends_1({\n key: hour\n }, props)));\n }\n\n return hourNumbers;\n};\nvar getMinutesNumbers = function getMinutesNumbers(_ref2) {\n var value = _ref2.value,\n size = _ref2.size;\n return [/*#__PURE__*/React__default.createElement(ClockNumber, {\n size: size,\n label: '00',\n selected: value === 0,\n index: 12,\n key: 12\n }), /*#__PURE__*/React__default.createElement(ClockNumber, {\n size: size,\n label: '05',\n selected: value === 5,\n index: 1,\n key: 1\n }), /*#__PURE__*/React__default.createElement(ClockNumber, {\n size: size,\n label: '10',\n selected: value === 10,\n index: 2,\n key: 2\n }), /*#__PURE__*/React__default.createElement(ClockNumber, {\n size: size,\n label: '15',\n selected: value === 15,\n index: 3,\n key: 3\n }), /*#__PURE__*/React__default.createElement(ClockNumber, {\n size: size,\n label: '20',\n selected: value === 20,\n index: 4,\n key: 4\n }), /*#__PURE__*/React__default.createElement(ClockNumber, {\n size: size,\n label: '25',\n selected: value === 25,\n index: 5,\n key: 5\n }), /*#__PURE__*/React__default.createElement(ClockNumber, {\n size: size,\n label: '30',\n selected: value === 30,\n index: 6,\n key: 6\n }), /*#__PURE__*/React__default.createElement(ClockNumber, {\n size: size,\n label: '35',\n selected: value === 35,\n index: 7,\n key: 7\n }), /*#__PURE__*/React__default.createElement(ClockNumber, {\n size: size,\n label: '40',\n selected: value === 40,\n index: 8,\n key: 8\n }), /*#__PURE__*/React__default.createElement(ClockNumber, {\n size: size,\n label: '45',\n selected: value === 45,\n index: 9,\n key: 9\n }), /*#__PURE__*/React__default.createElement(ClockNumber, {\n size: size,\n label: '50',\n selected: value === 50,\n index: 10,\n key: 10\n }), /*#__PURE__*/React__default.createElement(ClockNumber, {\n size: size,\n label: '55',\n selected: value === 55,\n index: 11,\n key: 11\n })];\n};\n\nvar center = {\n x: 260 / 2,\n y: 260 / 2\n};\nvar basePoint = {\n x: center.x,\n y: 0\n};\nvar cx = basePoint.x - center.x;\nvar cy = basePoint.y - center.y;\n\nvar rad2deg = function rad2deg(rad) {\n return rad * 57.29577951308232;\n};\n\nvar getAngleValue = function getAngleValue(step, offsetX, offsetY) {\n var x = offsetX - center.x;\n var y = offsetY - center.y;\n var atan = Math.atan2(cx, cy) - Math.atan2(x, y);\n var deg = rad2deg(atan);\n deg = Math.round(deg / step) * step;\n deg %= 360;\n var value = Math.floor(deg / step) || 0;\n var delta = Math.pow(x, 2) + Math.pow(y, 2);\n var distance = Math.sqrt(delta);\n return {\n value: value,\n distance: distance\n };\n};\n\nvar getHours = function getHours(offsetX, offsetY, ampm) {\n var _getAngleValue = getAngleValue(30, offsetX, offsetY),\n value = _getAngleValue.value,\n distance = _getAngleValue.distance;\n\n value = value || 12;\n\n if (!ampm) {\n if (distance < 90) {\n value += 12;\n value %= 24;\n }\n } else {\n value %= 12;\n }\n\n return value;\n};\nvar getMinutes = function getMinutes(offsetX, offsetY) {\n var step = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n var angleStep = step * 6;\n\n var _getAngleValue2 = getAngleValue(angleStep, offsetX, offsetY),\n value = _getAngleValue2.value;\n\n value = value * step % 60;\n return value;\n};\nvar getMeridiem = function getMeridiem(date) {\n return getHoursValue(date) >= 12 ? 'pm' : 'am';\n};\nvar convertToMeridiem = function convertToMeridiem(time, meridiem, ampm) {\n if (ampm) {\n var currentMeridiem = getHoursValue(time) >= 12 ? 'pm' : 'am';\n\n if (currentMeridiem !== meridiem) {\n var hours = meridiem === 'am' ? getHoursValue(time) - 12 : getHoursValue(time) + 12;\n return setHoursValue(time, hours);\n }\n }\n\n return time;\n};\n\nvar css_248z$7 = \":root {\\n --primary1: #123787;\\n --primary2: #1d58d7;\\n --primary3: #5173fb;\\n --primary4: #7a93ff;\\n --primary5: #c2d0ff;\\n --primary6: #e5ebff;\\n --primary7: #f2f5ff; }\\n\\n.Clock-module_container__u9bjC {\\n display: flex;\\n justify-content: center;\\n align-items: flex-end;\\n margin: 16px 0; }\\n\\n.Clock-module_clock__3pf-q {\\n background-color: rgba(0, 0, 0, 0.07);\\n border-radius: 50%;\\n height: 260px;\\n width: 260px;\\n position: relative;\\n pointer-events: none;\\n z-index: 1; }\\n\\n.Clock-module_squareMask__367fB {\\n width: 100%;\\n height: 100%;\\n position: absolute;\\n pointer-events: auto;\\n outline: none;\\n touch-action: none;\\n user-select: none; }\\n .Clock-module_squareMask__367fB:active {\\n cursor: move; }\\n\\n.Clock-module_pin__3GogJ {\\n width: 6px;\\n height: 6px;\\n border-radius: 50%;\\n background-color: var(--primary2);\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n transform: translate(-50%, -50%); }\\n\\n.Clock-module_containersm__37oAn {\\n height: 130px;\\n align-items: center; }\\n\\n.Clock-module_clocksm__3ocgE {\\n transform: scale(0.6); }\\n\";\nvar styles$7 = {\"container\":\"Clock-module_container__u9bjC\",\"clock\":\"Clock-module_clock__3pf-q\",\"squareMask\":\"Clock-module_squareMask__367fB\",\"pin\":\"Clock-module_pin__3GogJ\",\"containersm\":\"Clock-module_containersm__37oAn\",\"clocksm\":\"Clock-module_clocksm__3ocgE\"};\nstyleInject(css_248z$7);\n\nvar css_248z$8 = \":root {\\n --primary1: #123787;\\n --primary2: #1d58d7;\\n --primary3: #5173fb;\\n --primary4: #7a93ff;\\n --primary5: #c2d0ff;\\n --primary6: #e5ebff;\\n --primary7: #f2f5ff; }\\n\\n.ClockPointer-module_pointer__28siQ {\\n width: 2px;\\n background-color: var(--primary2);\\n position: absolute;\\n left: calc(50% - 1px);\\n bottom: 50%;\\n transform-origin: center bottom 0px; }\\n\\n.ClockPointer-module_animateTransform__2kcFs {\\n transition: transform 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, height 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; }\\n\\n.ClockPointer-module_thumb__11aUL {\\n width: 4px;\\n height: 4px;\\n background-color: #ffffff;\\n border-radius: 100%;\\n position: absolute;\\n top: -21px;\\n left: -15px;\\n border: 14px solid var(--primary2);\\n box-sizing: content-box; }\\n\\n.ClockPointer-module_noPoint__zRXBt {\\n background-color: var(--primary2); }\\n\";\nvar classes = {\"pointer\":\"ClockPointer-module_pointer__28siQ\",\"animateTransform\":\"ClockPointer-module_animateTransform__2kcFs\",\"thumb\":\"ClockPointer-module_thumb__11aUL\",\"noPoint\":\"ClockPointer-module_noPoint__zRXBt\"};\nstyleInject(css_248z$8);\n\nfunction _createSuper$7(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$7(); return function _createSuperInternal() { var Super = getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$7() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar ClockPointer = /*#__PURE__*/function (_React$Component) {\n inherits(ClockPointer, _React$Component);\n\n var _super = _createSuper$7(ClockPointer);\n\n function ClockPointer() {\n var _this;\n\n classCallCheck(this, ClockPointer);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.state = {\n toAnimateTransform: false,\n previousType: undefined\n };\n\n _this.getAngleStyle = function () {\n var _this$props = _this.props,\n value = _this$props.value,\n type = _this$props.type,\n isInner = _this$props.isInner;\n var max = type === ClockTypes.HOURS ? 12 : 60;\n var angle = 360 / max * value;\n\n if (type === ClockTypes.HOURS && value > 12) {\n angle -= 360; // round up angle to max 360 degrees\n }\n\n return {\n height: isInner ? '26%' : '40%',\n transform: \"rotateZ(\".concat(angle, \"deg)\")\n };\n };\n\n return _this;\n }\n\n createClass(ClockPointer, [{\n key: \"render\",\n value: function render() {\n var hasSelected = this.props.hasSelected;\n var toAnimateTransform = this.state.toAnimateTransform;\n return /*#__PURE__*/React__default.createElement(\"div\", {\n style: this.getAngleStyle(),\n className: \"\".concat(classes.pointer, \" \").concat(toAnimateTransform ? classes.animateTransform : '')\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(classes.thumb, \" \").concat(hasSelected ? classes.noPoint : '')\n }));\n }\n }]);\n\n return ClockPointer;\n}(React__default.Component);\nClockPointer.propTypes = {\n value: PropTypes__default.number.isRequired,\n hasSelected: PropTypes__default.bool,\n type: PropTypes__default.oneOf(['hours', 'minutes', 'seconds']),\n isInner: PropTypes__default.bool\n};\n\nClockPointer.getDerivedStateFromProps = function (nextProps, state) {\n if (nextProps.type !== state.previousType) {\n return {\n toAnimateTransform: true,\n previousType: nextProps.type\n };\n }\n\n return {\n toAnimateTransform: false,\n previousType: nextProps.type\n };\n};\n\nfunction _createSuper$8(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$8(); return function _createSuperInternal() { var Super = getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$8() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar Clock = /*#__PURE__*/function (_React$Component) {\n inherits(Clock, _React$Component);\n\n var _super = _createSuper$8(Clock);\n\n function Clock() {\n var _this;\n\n classCallCheck(this, Clock);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.isMoving = false;\n\n _this.handleTouchMove = function (e) {\n _this.isMoving = true;\n\n _this.setTime(e);\n };\n\n _this.handleTouchEnd = function (e) {\n if (_this.isMoving) {\n _this.setTime(e, true);\n\n _this.isMoving = false;\n }\n };\n\n _this.handleMove = function (e) {\n e.preventDefault();\n e.stopPropagation(); // MouseEvent.which is deprecated, but MouseEvent.buttons is not supported in Safari\n\n var isButtonPressed = typeof e.buttons === 'undefined' ? e.nativeEvent.which === 1 : e.buttons === 1;\n\n if (isButtonPressed) {\n _this.setTime(e.nativeEvent, false);\n }\n };\n\n _this.handleMouseUp = function (e) {\n if (_this.isMoving) {\n _this.isMoving = false;\n }\n\n _this.setTime(e.nativeEvent, true);\n };\n\n _this.hasSelected = function () {\n var _this$props = _this.props,\n type = _this$props.type,\n value = _this$props.value;\n\n if (type === ClockTypes.HOURS) {\n return true;\n }\n\n return value % 5 === 0;\n };\n\n return _this;\n }\n\n createClass(Clock, [{\n key: \"setTime\",\n value: function setTime(e) {\n var isFinish = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var offsetX = e.offsetX,\n offsetY = e.offsetY;\n\n if (typeof offsetX === 'undefined') {\n var rect = e.target.getBoundingClientRect();\n offsetX = e.changedTouches[0].clientX - rect.left;\n offsetY = e.changedTouches[0].clientY - rect.top;\n }\n\n var value = this.props.type === ClockTypes.SECONDS || this.props.type === ClockTypes.MINUTES ? getMinutes(offsetX, offsetY, this.props.minutesStep) : getHours(offsetX, offsetY, Boolean(this.props.ampm));\n this.props.onChange(value, isFinish);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n value = _this$props2.value,\n children = _this$props2.children,\n type = _this$props2.type,\n ampm = _this$props2.ampm,\n size = _this$props2.size;\n var isPointerInner = !ampm && type === ClockTypes.HOURS && (value < 1 || value > 12);\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(styles$7.container, \" \").concat(size ? styles$7[\"container\".concat(size)] : '', \" clock__container\")\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(styles$7.clock, \" \").concat(size ? styles$7[\"clock\".concat(size)] : '', \" clock\")\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n role: \"menu\",\n tabIndex: -1,\n className: styles$7.squareMask,\n onTouchMove: this.handleTouchMove,\n onTouchEnd: this.handleTouchEnd,\n onMouseUp: this.handleMouseUp,\n onMouseMove: this.handleMove\n }), /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$7.pin\n }), /*#__PURE__*/React__default.createElement(ClockPointer, {\n value: value,\n type: type,\n hasSelected: this.hasSelected(),\n isInner: isPointerInner\n }), children));\n }\n }]);\n\n return Clock;\n}(React__default.Component);\nClock.propTypes = {\n type: PropTypes__default.oneOf(Object.keys(ClockTypes).map(function (key) {\n return ClockTypes[key];\n })).isRequired,\n value: PropTypes__default.number.isRequired,\n onChange: PropTypes__default.func.isRequired,\n children: PropTypes__default.arrayOf(PropTypes__default.node).isRequired,\n ampm: PropTypes__default.bool,\n minutesStep: PropTypes__default.number,\n size: PropTypes__default.oneOf(['sm', '']) // innerRef: PropTypes.any,\n\n};\nClock.defaultProps = {\n ampm: false,\n minutesStep: 1\n};\n\nfunction _createSuper$9(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$9(); return function _createSuperInternal() { var Super = getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$9() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar ClockView = /*#__PURE__*/function (_React$Component) {\n inherits(ClockView, _React$Component);\n\n var _super = _createSuper$9(ClockView);\n\n function ClockView() {\n classCallCheck(this, ClockView);\n\n return _super.apply(this, arguments);\n }\n\n createClass(ClockView, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n type = _this$props.type,\n ampm = _this$props.ampm,\n date = _this$props.date,\n onHourChange = _this$props.onHourChange,\n onMinutesChange = _this$props.onMinutesChange,\n onSecondsChange = _this$props.onSecondsChange,\n minutesStep = _this$props.minutesStep,\n size = _this$props.size;\n var viewProps = memoize(function () {\n switch (type) {\n case ClockTypes.HOURS:\n {\n return {\n value: getHoursValue(date),\n children: getHourNumbers({\n ampm: ampm,\n date: date,\n size: size\n }),\n onChange: function onChange(value, isFinish) {\n var currentMeridiem = getMeridiem(date);\n var updatedTimeWithMeridiem = convertToMeridiem(setHoursValue(date, value), currentMeridiem, Boolean(ampm));\n onHourChange(updatedTimeWithMeridiem, isFinish);\n }\n };\n }\n\n case ClockTypes.MINUTES:\n {\n var minutesValue = getMinutesValue(date);\n return {\n value: minutesValue,\n children: getMinutesNumbers({\n value: minutesValue,\n size: size\n }),\n onChange: function onChange(value, isFinish) {\n var updatedTime = setMinutesValue(date, value);\n onMinutesChange(updatedTime, isFinish);\n }\n };\n }\n\n case ClockTypes.SECONDS:\n {\n var secondsValue = getSecondsValue(date);\n return {\n value: secondsValue,\n children: getMinutesNumbers({\n value: secondsValue,\n size: size\n }),\n onChange: function onChange(value, isFinish) {\n var updatedTime = setSecondsValue(date, value);\n onSecondsChange(updatedTime, isFinish);\n }\n };\n }\n\n default:\n {\n throw new Error(\"You must provide the type for TimePicker: \".concat(Object.values(ClockTypes).join(', ')));\n }\n }\n }, function () {\n return [ampm, date, onHourChange, onMinutesChange, onSecondsChange, type];\n });\n return /*#__PURE__*/React__default.createElement(Clock, _extends_1({\n type: type,\n ampm: ampm,\n minutesStep: minutesStep,\n size: size\n }, viewProps()));\n }\n }]);\n\n return ClockView;\n}(React__default.Component);\nClockView.propTypes = {\n type: PropTypes__default.oneOf(['hours', 'minutes', 'seconds']).isRequired,\n date: PropTypes__default.number.isRequired,\n ampm: PropTypes__default.bool,\n onHourChange: PropTypes__default.func,\n onMinutesChange: PropTypes__default.func,\n onSecondsChange: PropTypes__default.func,\n minutesStep: PropTypes__default.number,\n size: PropTypes__default.oneOf(['sm', ''])\n};\n\nfunction _createSuper$a(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$a(); return function _createSuperInternal() { var Super = getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$a() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar TimePicker = /*#__PURE__*/function (_React$Component) {\n inherits(TimePicker, _React$Component);\n\n var _super = _createSuper$a(TimePicker);\n\n function TimePicker(props) {\n var _this;\n\n classCallCheck(this, TimePicker);\n\n _this = _super.call(this, props);\n\n _this.handleChange = function (value, isFinish) {\n var _this$props = _this.props,\n views = _this$props.views,\n onChange = _this$props.onChange;\n var openTo = _this.state.openTo;\n var nextViewToOpen = views[views.indexOf(openTo) + 1];\n\n _this.setState({\n time: value\n });\n\n if (isFinish && nextViewToOpen) {\n // do not close picker if needs to show next view\n onChange(value, false);\n\n _this.setState({\n openTo: nextViewToOpen\n });\n\n return;\n }\n\n onChange(value, Boolean(isFinish));\n };\n\n _this.handleMeridiemChange = function () {\n var oldMode = _this.state.mode;\n var mode = oldMode === 'am' ? 'pm' : 'am';\n var _this$props2 = _this.props,\n value = _this$props2.value,\n ampm = _this$props2.ampm;\n\n _this.setState({\n mode: mode\n });\n\n var timeWithMeridiem = convertToMeridiem(value, mode, Boolean(ampm));\n\n _this.handleChange(timeWithMeridiem, false);\n };\n\n _this.handleChangeTimeView = function (view) {\n var views = _this.props.views;\n var openTo = _this.state.openTo;\n var nextViewToOpen = views[views.indexOf(openTo) + 1] || views[0];\n\n _this.setState({\n openTo: nextViewToOpen\n });\n };\n\n _this.state = {\n openTo: props.openTo && arrayIncludes(props.views, props.openTo) ? props.openTo : props.views[0],\n mode: getMeridiem(props.value),\n time: moment$1__default(props.value)\n };\n return _this;\n }\n\n createClass(TimePicker, [{\n key: \"timeOptions\",\n get: function get() {\n return this.props.views.map(function (v) {\n return {\n title: v,\n value: v\n };\n });\n }\n }, {\n key: \"openTo\",\n get: function get() {\n return this.props.openTo || this.state.openTo;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props3 = this.props,\n value = _this$props3.value,\n ampm = _this$props3.ampm,\n minutesStep = _this$props3.minutesStep,\n size = _this$props3.size,\n useViewsAsTabs = _this$props3.useViewsAsTabs;\n var _this$state = this.state,\n mode = _this$state.mode,\n time = _this$state.time;\n var modeValue = !!(mode === 'pm');\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(styles$5.container, \" \").concat(useViewsAsTabs ? styles$5.withTabs : '', \" timepicker\")\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$5.mode\n }, /*#__PURE__*/React__default.createElement(Switch, {\n size: useViewsAsTabs ? 'sm' : '',\n list: ['AM', 'PM'],\n name: \"time-mode-swithcer\",\n onChange: this.handleMeridiemChange,\n value: modeValue\n })), !useViewsAsTabs ? /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(styles$5.button, \" \").concat(styles$5.buttonView),\n onClick: this.handleChangeTimeView\n }, /*#__PURE__*/React__default.createElement(\"span\", null, this.openTo)) : /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(styles$5.time),\n onClick: this.handleChangeTimeView\n }, /*#__PURE__*/React__default.createElement(\"span\", null, time.format('hh:mm A'))), /*#__PURE__*/React__default.createElement(ClockView, {\n type: this.openTo,\n date: value,\n ampm: ampm,\n minutesStep: minutesStep,\n onHourChange: this.handleChange,\n onMinutesChange: this.handleChange,\n onSecondsChange: this.handleChange,\n size: size\n }));\n }\n }]);\n\n return TimePicker;\n}(React__default.Component);\nTimePicker.propTypes = {\n value: PropTypes__default.number.isRequired,\n ampm: PropTypes__default.bool,\n minutesStep: PropTypes__default.number,\n openTo: PropTypes__default.oneOf(Object.values(ClockTypes)),\n views: PropTypes__default.arrayOf(PropTypes__default.oneOf(Object.values(ClockTypes))),\n onChange: PropTypes__default.func.isRequired,\n size: PropTypes__default.oneOf(['sm', '']),\n useViewsAsTabs: PropTypes__default.bool\n};\nTimePicker.defaultProps = {\n ampm: true,\n views: ['hours', 'minutes'],\n size: '',\n useViewsAsTabs: false\n};\n\nvar css_248z$9 = \".DatesPickerWithTimePicker-module_tabs__2JVyl {\\n margin-bottom: 1rem; }\\n\\n.DatesPickerWithTimePicker-module_pickerWrapper__3YuUW {\\n font-size: 16px; }\\n\";\nvar styles$8 = {\"tabs\":\"DatesPickerWithTimePicker-module_tabs__2JVyl\",\"pickerWrapper\":\"DatesPickerWithTimePicker-module_pickerWrapper__3YuUW\"};\nstyleInject(css_248z$9);\n\nfunction _createSuper$b(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$b(); return function _createSuperInternal() { var Super = getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$b() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar tabs = [{\n title: 'Date',\n value: 'date'\n}];\nvar DatesPickerWithTimePicker = /*#__PURE__*/function (_React$Component) {\n inherits(DatesPickerWithTimePicker, _React$Component);\n\n var _super = _createSuper$b(DatesPickerWithTimePicker);\n\n function DatesPickerWithTimePicker() {\n var _this;\n\n classCallCheck(this, DatesPickerWithTimePicker);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.state = {\n tab: 'date'\n };\n _this.tabs = tabs.concat(['hours', 'minutes'].map(function (view) {\n return {\n title: view.replace(view.charAt(0), view.charAt(0).toLocaleUpperCase()),\n value: view\n };\n }));\n\n _this.handleChangeTab = function (tab) {\n _this.setState({\n tab: tab.value\n });\n\n _this.props.clearAfterSelection();\n };\n\n _this.handleChange = function (value) {\n _this.props.onChange(value);\n };\n\n _this.renderTimePicker = function () {\n var value = _this.props.value;\n var tab = _this.state.tab;\n var time = value ? value.valueOf() : moment$1__default().startOf('day').valueOf();\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$8.pickerWrapper\n }, /*#__PURE__*/React__default.createElement(TimePicker, {\n openTo: tab,\n value: time,\n onChange: _this.handleChange,\n size: 'sm',\n useViewsAsTabs: true\n }));\n };\n\n _this.renderBar = function () {\n var tab = _this.state.tab;\n var children = _this.props.children;\n return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Tabs, {\n items: _this.tabs,\n className: \"tabs_small tabs_capitalized \".concat(styles$8.tabs),\n value: tab,\n onChange: _this.handleChangeTab\n }), tab === 'date' ? children : _this.renderTimePicker());\n };\n\n return _this;\n }\n\n createClass(DatesPickerWithTimePicker, [{\n key: \"getSnapshotBeforeUpdate\",\n value: function getSnapshotBeforeUpdate(prevProps, prevState) {\n if (this.props.toggleToTime && !prevProps.toggleToTime && this.state.tab === 'date') {\n return true;\n }\n\n return null;\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState, snapshot) {\n if (snapshot) {\n this.handleChangeTab(this.tabs[1]);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n withTimePicker = _this$props.withTimePicker,\n children = _this$props.children;\n return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, withTimePicker ? this.renderBar() : children);\n }\n }]);\n\n return DatesPickerWithTimePicker;\n}(React__default.Component);\nDatesPickerWithTimePicker.propTypes = {\n value: PropTypes__default.oneOfType([PropTypes__default.oneOfType([PropTypes__default.number, momentOrDatePropCheck]), PropTypes__default.shape({\n start: PropTypes__default.oneOfType([PropTypes__default.number, momentOrDatePropCheck]),\n end: PropTypes__default.oneOfType([PropTypes__default.number, momentOrDatePropCheck])\n })]),\n withTimePicker: PropTypes__default.bool.isRequired,\n onChange: PropTypes__default.func.isRequired,\n clearAfterSelection: PropTypes__default.func,\n toggleToTime: PropTypes__default.bool\n};\n\nfunction _createSuper$c(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$c(); return function _createSuperInternal() { var Super = getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$c() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nvar DatesPickerOnDoneWrapperComponent = /*#__PURE__*/function (_React$PureComponent) {\n inherits(DatesPickerOnDoneWrapperComponent, _React$PureComponent);\n\n var _super = _createSuper$c(DatesPickerOnDoneWrapperComponent);\n\n function DatesPickerOnDoneWrapperComponent() {\n var _this;\n\n classCallCheck(this, DatesPickerOnDoneWrapperComponent);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.state = {\n value: null\n };\n\n _this.findPreselectedRangeId = function (dateRange) {\n var preselectedRange = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var start = moment$1__default(dateRange.start);\n var end = moment$1__default(dateRange.end);\n\n for (var ii = 0; ii < preselectedRange.length; ii++) {\n var current = preselectedRange[ii];\n var rangeStart = moment$1__default(current.start);\n var rangeEnd = moment$1__default(current.end);\n\n if (start.isSame(rangeStart, 'day') && end.isSame(rangeEnd, 'day')) {\n return current.key;\n }\n }\n\n return null;\n };\n\n _this.onSelect = function (value, states, preselectedRangeKey) {\n var _this$props = _this.props,\n onSelect = _this$props.onSelect,\n preselectedRangeValues = _this$props.preselectedRangeValues,\n updateByDone = _this$props.updateByDone,\n resetInputValue = _this$props.resetInputValue;\n\n var formatedPreselectedKey = preselectedRangeKey || _this.findPreselectedRangeId(value, preselectedRangeValues);\n\n _this.setState({\n value: value,\n states: states,\n preselectedRange: formatedPreselectedKey\n });\n\n if (!updateByDone) {\n resetInputValue();\n onSelect(value, states, formatedPreselectedKey);\n }\n };\n\n _this.handleClickOutside = function () {\n return _this.props.resetInputValue();\n };\n\n return _this;\n }\n\n createClass(DatesPickerOnDoneWrapperComponent, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.setState({\n value: this.props.value\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var resetInputValue = this.props.resetInputValue;\n var _this$state = this.state,\n value = _this$state.value,\n preselectedRange = _this$state.preselectedRange;\n return this.props.children(value, this.onSelect, preselectedRange, resetInputValue);\n }\n }]);\n\n return DatesPickerOnDoneWrapperComponent;\n}(React__default.PureComponent);\n\nDatesPickerOnDoneWrapperComponent.propTypes = {\n onSelect: PropTypes__default.func,\n value: PropTypes__default.any,\n resetInputValue: PropTypes__default.func,\n updateByDone: PropTypes__default.bool,\n preselectedRangeValues: PropTypes__default.array\n};\nvar DatesPickerOnDoneWrapper = withClickOutside(DatesPickerOnDoneWrapperComponent);\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$1(Object(source), true).forEach(function (key) { defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper$d(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$d(); return function _createSuperInternal() { var Super = getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$d() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar Positions = {\n LEFT: 'tooltipV2_left',\n TOP: 'tooltipV2_top',\n RIGHT: 'tooltipV2_right',\n BOTTOM: 'tooltipV2_bottom',\n 'BOTTOM-LEFT': 'tooltipV2_bottom-left',\n 'BOTTOM-RIGHT': 'tooltipV2_bottom-right',\n 'TOP-LEFT': 'tooltipV2_top-left',\n 'TOP-RIGHT': 'tooltipV2_top-right'\n};\nvar Tooltip = /*#__PURE__*/function (_PureComponent) {\n inherits(Tooltip, _PureComponent);\n\n var _super = _createSuper$d(Tooltip);\n\n function Tooltip(props) {\n var _this;\n\n classCallCheck(this, Tooltip);\n\n _this = _super.call(this, props);\n _this.tooltipLabel = /*#__PURE__*/createRef();\n _this.tooltipWrapperRef = /*#__PURE__*/createRef();\n\n _this.onFontLoaded = function () {\n var font = new fontfaceobserver_standalone('Avenir Next Regular');\n font.load().then(function () {\n _this.setStyleToInitial();\n });\n };\n\n _this.setStyleToInitial = function () {\n _this.setState({\n labelInnerMaxWidth: _this.labelInnerWidth,\n isLabelMaxWidthSet: false\n });\n };\n\n _this.setLabelMaxWidth = function () {\n if (_this.tooltipLabelInner) {\n var contentWidth = Math.ceil(_this.tooltipLabelInner.getBoundingClientRect().width);\n contentWidth = contentWidth <= _this.labelInnerWidth ? contentWidth : _this.labelInnerWidth;\n\n _this.setState({\n labelInnerMaxWidth: contentWidth,\n isLabelMaxWidthSet: true\n });\n }\n };\n\n _this.handleMouseEnter = function () {\n if (_this.props.disable) {\n return;\n }\n\n _this.setStyleToInitial();\n\n var position = _this.getPosition();\n\n var xycoords = _this.getXYCoords();\n\n _this.timer = setTimeout(function () {\n _this.setState({\n isVisible: true,\n isShowing: true,\n position: position,\n xycoords: xycoords\n });\n }, _this.props.delayTime);\n };\n\n _this.handleMouseLeave = function () {\n clearTimeout(_this.timer);\n\n _this.setState({\n isVisible: false\n }, function () {\n _this.process = setTimeout(function () {\n _this.setState({\n position: _this.props.auto ? Positions['TOP-LEFT'] : Positions[_this.props.position.toUpperCase()],\n isShowing: false\n });\n }, _this.props.disableAnimation ? 0 : 200); // Animation duration\n });\n };\n\n _this.labelInnerWidth = props.labelMaxWidth ? props.labelMaxWidth - 20 : 480; // 2x 10px horizontal paddings\n\n _this.state = {\n isVisible: false,\n isShowing: false,\n // visible with animation duration\n position: Positions[props.position.toUpperCase()],\n labelInnerMaxWidth: _this.labelInnerWidth\n };\n _this.timer = null;\n return _this;\n }\n\n createClass(Tooltip, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.onFontLoaded();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (!this.state.isLabelMaxWidthSet) {\n this.setLabelMaxWidth();\n }\n\n if (this.props.disable && !prevProps.disable) {\n this.handleMouseLeave();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n clearTimeout(this.timer);\n }\n }, {\n key: \"getPosition\",\n value: function getPosition() {\n if (this.props.auto) {\n clearTimeout(this.process);\n var _this$state = this.state,\n isShowing = _this$state.isShowing,\n current = _this$state.position;\n\n if (isShowing) {\n return current;\n }\n\n var position = Positions['TOP-LEFT'];\n var coord = this.props.portal ? this.tooltipWrapperRef.current.getBoundingClientRect() : this.tooltipLabel.current.getBoundingClientRect();\n var x = coord.x,\n y = coord.y,\n right = coord.right;\n\n if (y < 0) {\n position = Positions['BOTTOM-LEFT'];\n }\n\n if (x < 0) {\n position = Positions.RIGHT;\n }\n\n if (right > window.innerWidth) {\n position = Positions.LEFT;\n }\n\n return position;\n } else {\n return this.state.position;\n }\n }\n }, {\n key: \"getXYCoords\",\n value: function getXYCoords() {\n var _this$tooltipWrapperR, _this$tooltipWrapperR2, _this$tooltipWrapperR3, _this$tooltipWrapperR4;\n\n var coord = (_this$tooltipWrapperR = (_this$tooltipWrapperR2 = this.tooltipWrapperRef) === null || _this$tooltipWrapperR2 === void 0 ? void 0 : (_this$tooltipWrapperR3 = _this$tooltipWrapperR2.current) === null || _this$tooltipWrapperR3 === void 0 ? void 0 : (_this$tooltipWrapperR4 = _this$tooltipWrapperR3.getBoundingClientRect) === null || _this$tooltipWrapperR4 === void 0 ? void 0 : _this$tooltipWrapperR4.call(_this$tooltipWrapperR3)) !== null && _this$tooltipWrapperR !== void 0 ? _this$tooltipWrapperR : {\n x: 0,\n y: 0\n };\n var x = coord.x,\n y = coord.y;\n return {\n top: y,\n left: x\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props = this.props,\n _this$props$className = _this$props.className,\n className = _this$props$className === void 0 ? '' : _this$props$className,\n style = _this$props.style,\n handleClick = _this$props.handleClick,\n portal = _this$props.portal,\n showOnFocus = _this$props.showOnFocus,\n disableAnimation = _this$props.disableAnimation;\n var _this$state2 = this.state,\n isVisible = _this$state2.isVisible,\n position = _this$state2.position,\n labelInnerMaxWidth = _this$state2.labelInnerMaxWidth,\n xycoords = _this$state2.xycoords;\n var visible = isVisible ? 'tooltipV2_visible' : 'tooltipV2_hidden';\n var tooltipClassName = \"tooltipV2 \".concat(position, \" \").concat(visible, \" \").concat(className);\n var content = this.props.label ? /*#__PURE__*/React__default.createElement(\"span\", {\n ref: this.tooltipLabel,\n className: \"tooltipV2__label \".concat(disableAnimation ? 'no-animation' : '')\n }, /*#__PURE__*/React__default.createElement(\"span\", {\n className: \"tooltipV2__label-outer\",\n style: {\n width: \"\".concat(this.labelInnerWidth, \"px\"),\n maxWidth: \"\".concat(labelInnerMaxWidth, \"px\")\n }\n }, /*#__PURE__*/React__default.createElement(\"span\", {\n ref: function ref(el) {\n _this2.tooltipLabelInner = el;\n },\n className: \"tooltipV2__label-inner\"\n }, this.props.label))) : null;\n\n if (portal) {\n content = /*#__PURE__*/ReactDOM.createPortal( /*#__PURE__*/React__default.createElement(\"div\", {\n className: tooltipClassName,\n style: _objectSpread$1(_objectSpread$1({}, style), {}, {\n position: 'fixed',\n zIndex: 9999\n }, xycoords)\n }, content), document.body);\n }\n\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: tooltipClassName,\n onMouseEnter: showOnFocus ? null : this.handleMouseEnter,\n onMouseLeave: showOnFocus ? null : this.handleMouseLeave,\n onFocus: showOnFocus ? this.handleMouseEnter : null,\n onBlur: showOnFocus ? this.handleMouseLeave : null,\n style: style,\n onClick: handleClick,\n ref: this.tooltipWrapperRef\n }, content, this.props.children);\n }\n }]);\n\n return Tooltip;\n}(PureComponent);\nTooltip.defaultProps = {\n delayTime: 500,\n position: 'top',\n auto: true,\n portal: false,\n showOnFocus: false,\n disable: false,\n disableAnimation: false\n};\nTooltip.propTypes = {\n label: PropTypes__default.oneOfType([PropTypes__default.string, PropTypes__default.element]).isRequired,\n delayTime: PropTypes__default.number,\n position: PropTypes__default.oneOf(['top', 'right', 'bottom', 'bottom-left', 'bottom-right', 'left', 'top-left', 'top-right']),\n auto: PropTypes__default.bool,\n labelMaxWidth: PropTypes__default.number,\n className: PropTypes__default.string,\n style: PropTypes__default.object,\n handleClick: PropTypes__default.func,\n showOnFocus: PropTypes__default.bool,\n portal: PropTypes__default.bool,\n disable: PropTypes__default.bool,\n disableAnimation: PropTypes__default.bool\n};\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$2(Object(source), true).forEach(function (key) { defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper$e(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$e(); return function _createSuperInternal() { var Super = getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$e() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar moment = range.extendMoment(moment$1__default);\n\nvar noop$1 = function noop() {\n console.log('noop');\n};\n\nvar DATE_FORMAT = 'MM/DD/YYYY';\nvar DEFAULT_PRESELECTED_VALUES = function () {\n var end = moment().endOf('day');\n return [{\n key: 'week',\n title: 'Week',\n start: moment().add(-1, 'week').startOf('day').add(1, 'day'),\n end: end\n }, {\n key: 'month',\n title: 'Month',\n start: moment().add(-1, 'month').startOf('day').add(1, 'day'),\n end: end\n }, {\n key: '3months',\n title: '3 Months',\n start: moment().add(-3, 'month').startOf('day').add(1, 'day'),\n end: end\n }];\n}();\n\nvar getMomentDate = function getMomentDate(date) {\n if (date instanceof moment) {\n return date;\n }\n\n return moment(date, DATE_FORMAT);\n};\n\nvar DatesPickerWrapper = function DatesPickerWrapper(_ref) {\n var children = _ref.children,\n tooltipParams = _ref.tooltipParams;\n return tooltipParams ? /*#__PURE__*/React__default.createElement(Tooltip, tooltipParams, children) : children;\n};\n\nvar DatesPickerComponent = /*#__PURE__*/function (_Component) {\n inherits(DatesPickerComponent, _Component);\n\n var _super = _createSuper$e(DatesPickerComponent);\n\n function DatesPickerComponent(props) {\n var _this;\n\n classCallCheck(this, DatesPickerComponent);\n\n _this = _super.call(this, props);\n _this.startInputRef = null;\n\n _this.onSelect = function (value, states, preselectedRange) {\n var _this$props = _this.props,\n singleDateMode = _this$props.singleDateMode,\n updateDateRange = _this$props.updateDateRange;\n\n if (!value) {\n return;\n }\n\n var start = value.start,\n end = value.end;\n\n if (end) {\n end = moment(end).endOf('day');\n }\n\n _this.setState({\n value: value,\n states: states,\n preselectedRange: preselectedRange,\n inputValue: null,\n afterSelection: true,\n isButtonDisabled: false\n });\n\n singleDateMode ? updateDateRange(value, preselectedRange) : updateDateRange(start, end, preselectedRange);\n };\n\n _this.revertAfterSelection = function () {\n _this.setState({\n afterSelection: false\n });\n };\n\n _this.onOpen = function () {\n _this.setState({\n isOpen: true\n });\n };\n\n _this.onClose = function () {\n _this.setState({\n isOpen: false\n });\n };\n\n _this.onInputFocus = function (e, field) {\n var target = e.target;\n var value = target.value;\n !_this.state.isOpen && target.blur();\n target.setSelectionRange(0, value.length);\n\n _this.setState({\n focusedElement: field === 'singleDate' ? null : field\n });\n };\n\n _this.onInputBlur = function (e, field) {\n var isOpen = _this.state.isOpen;\n\n _this.setState({\n focusedElement: null\n });\n\n isOpen && _this.onInputEntered(e, field);\n };\n\n _this.onInputKeyEnter = function (e, field) {\n if (e.key === 'Enter' || e.keyCode === 13) {\n _this.onInputEntered(e, field, true);\n\n e.target.blur();\n\n _this.onClose();\n }\n };\n\n _this.onInputEntered = function (e, field, fromEnterKey) {\n var _this$props2 = _this.props,\n dateRange = _this$props2.dateRange,\n singleDate = _this$props2.singleDate,\n singleDateMode = _this$props2.singleDateMode,\n dateFormat = _this$props2.dateFormat;\n var target = e.target;\n var momentValue = moment$1__default(target.value, dateFormat);\n var prevValue = singleDateMode ? singleDate : dateRange; // Checking if value is valid and could be selected\n\n if (!momentValue.isValid() || _this.pickerComponent && _this.pickerComponent.isDateDisabled(momentValue) && !_this.pickerComponent.isDateSelectable(momentValue)) {\n var value = singleDateMode ? prevValue : _objectSpread$2({}, prevValue);\n return _this.onSelect(value);\n }\n\n var newValue;\n\n switch (field) {\n case 'start':\n {\n if (momentValue.isAfter(moment$1__default(prevValue.end))) {\n newValue = prevValue.start;\n } else {\n newValue = momentValue.startOf('day').toDate();\n }\n\n break;\n }\n\n case 'end':\n {\n if (momentValue.isBefore(moment$1__default(prevValue.start))) {\n newValue = prevValue.end;\n } else {\n newValue = momentValue.endOf('day').toDate();\n }\n\n break;\n }\n\n case 'singleDate':\n {\n newValue = _this.props.withTimePicker ? momentValue.toDate() : momentValue.endOf('day').toDate();\n break;\n }\n\n default:\n {\n newValue = prevValue[field];\n }\n }\n\n field === 'singleDate' ? _this.setState({\n inputValue: newValue\n }, function () {\n return fromEnterKey && _this.onSelect(newValue);\n }) : _this.setState({\n inputValue: _objectSpread$2(_objectSpread$2({}, prevValue), {}, defineProperty({}, field, newValue))\n }, function () {\n return fromEnterKey && _this.onSelect(_objectSpread$2(_objectSpread$2({}, prevValue), {}, defineProperty({}, field, newValue)));\n });\n };\n\n _this.handleClear = function (e) {\n _this.setState({\n inputValue: null,\n value: null,\n singleDate: ''\n });\n\n _this.props.updateDateRange(null);\n\n e.stopPropagation();\n };\n\n _this.renderSelectionValue = function () {\n var _this$props3 = _this.props,\n singleDateProps = _this$props3.singleDate,\n dateRange = _this$props3.dateRange,\n singleDateMode = _this$props3.singleDateMode,\n dateFormat = _this$props3.dateFormat,\n label = _this$props3.label,\n noLabel = _this$props3.noLabel,\n singleDatePlaceholder = _this$props3.singleDatePlaceholder,\n tooltipParams = _this$props3.tooltipParams,\n _this$props3$classNam = _this$props3.className,\n className = _this$props3$classNam === void 0 ? '' : _this$props3$classNam,\n isClearable = _this$props3.isClearable,\n variant = _this$props3.variant,\n disabled = _this$props3.disabled,\n underline = _this$props3.underline;\n\n var _ref2 = dateRange || {},\n start = _ref2.start,\n end = _ref2.end;\n\n var singleDate = singleDateMode && singleDateProps;\n var inputValue = _this.state.inputValue;\n\n if (start) {\n start = moment(inputValue ? inputValue.start : start).format(dateFormat);\n }\n\n if (end) {\n end = moment(inputValue ? inputValue.end : end).format(dateFormat);\n }\n\n if (singleDate) {\n singleDate = moment(inputValue || singleDate).format(dateFormat);\n }\n\n return /*#__PURE__*/React__default.createElement(DatesPickerWrapper, {\n tooltipParams: tooltipParams\n }, /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"date-picker \".concat(_this.state.isOpen ? '_opened' : '', \" \").concat(className, \" _\").concat(variant),\n onClick: !disabled ? _this.onOpen : null,\n tabIndex: disabled ? -1 : 0,\n onKeyDown: function onKeyDown(e) {\n if (e.keyCode === 13 || e.keyCode === 32 && !disabled) {\n _this.onOpen();\n\n e.stopPropagation();\n }\n }\n }, !noLabel && /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"date-picker__label \".concat(underline ? '_underline' : '')\n }, label || \"Date \".concat(singleDateMode ? '' : 'Range')), /*#__PURE__*/React__default.createElement(\"i\", {\n className: \"icon date-picker__icon\"\n }, /*#__PURE__*/React__default.createElement(Icon, {\n name: \"DateRange\"\n })), /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"date-picker__wrapper \".concat(underline ? '' : '_removeUnderline')\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"date-picker__item \".concat(singleDateMode ? '_single' : '')\n }, /*#__PURE__*/React__default.createElement(\"label\", {\n className: \"date-picker__item-label\",\n onClick: function onClick(e) {\n return !_this.state.isOpen && e.preventDefault();\n }\n }, /*#__PURE__*/React__default.createElement(\"input\", {\n ref: function ref(el) {\n if (el) {\n el.value = singleDateMode ? singleDate : start;\n _this.startInputRef = el;\n }\n },\n onFocus: function onFocus(e) {\n return _this.onInputFocus(e, singleDateMode ? 'singleDate' : 'start');\n },\n onBlur: function onBlur(e) {\n return _this.onInputBlur(e, singleDateMode ? 'singleDate' : 'start');\n },\n type: \"text\",\n size: \"5\",\n placeholder: singleDatePlaceholder,\n className: \"form-control\",\n onKeyDown: function onKeyDown(e) {\n return _this.onInputKeyEnter(e, singleDateMode ? 'singleDate' : 'start');\n },\n tabIndex: -1\n }))), !singleDateMode && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"date-picker__item-divider\"\n }, \" \\u2013 \"), /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"date-picker__item\"\n }, /*#__PURE__*/React__default.createElement(\"label\", {\n className: \"date-picker__item-label\"\n }, /*#__PURE__*/React__default.createElement(\"input\", {\n type: \"text\",\n size: \"5\",\n className: \"form-control\",\n ref: function ref(el) {\n if (el) {\n el.value = end;\n }\n },\n onFocus: function onFocus(e) {\n return _this.onInputFocus(e, 'end');\n },\n onBlur: function onBlur(e) {\n return _this.onInputBlur(e, 'end');\n },\n onKeyDown: function onKeyDown(e) {\n return _this.onInputKeyEnter(e, 'end');\n },\n tabIndex: -1\n })))))), singleDateMode && isClearable && singleDate ? /*#__PURE__*/React__default.createElement(ButtonCircle, {\n iconName: \"Close\",\n className: \"date-picker__item-clear\",\n onClick: _this.handleClear\n }) : null));\n };\n\n _this.selectPreselectedRange = function (onSelectCallback) {\n return function (event) {\n var rangeID = event.target.getAttribute('data-range-id');\n if (!rangeID) return;\n\n var range = _this.state.preselectedRangeValues.reduce(function (acc, item) {\n acc[item.key] = item;\n return acc;\n }, {});\n\n var _range$rangeID = range[rangeID],\n start = _range$rangeID.start,\n end = _range$rangeID.end;\n var r = _this.props.singleDateMode ? range[rangeID].date : moment.range(start, end);\n\n _this.setState({\n isButtonDisabled: false\n });\n\n if (onSelectCallback) {\n onSelectCallback(r, null, rangeID);\n } else {\n _this.onSelect(r, null, rangeID);\n }\n };\n };\n\n _this.handleClickOutside = function (event) {\n if (_this.state.isOpen) {\n event.stopPropagation();\n }\n\n _this.onClose();\n };\n\n _this.innerWrapperHandler = function (el) {\n if (el) {\n try {\n var elLeft = Number.parseFloat(window.getComputedStyle(el).left);\n var parentLeft = el.parentElement.getBoundingClientRect().left;\n var diff = Math.abs(parentLeft) - Math.abs(elLeft);\n\n if (diff < 0) {\n el.style.right = \"\".concat(-(Math.abs(diff) + 10), \"px\");\n }\n } catch (e) {\n el.style.right = 0;\n }\n }\n };\n\n _this.state = {\n isOpen: false,\n preselectedRange: false,\n // props.dateRange && props.dateRange.range,\n preselectedRangeValues: _this.getPreselectedList(),\n focusedElement: null,\n inputValue: null,\n afterSelection: false,\n isButtonDisabled: false\n };\n return _this;\n }\n\n createClass(DatesPickerComponent, [{\n key: \"withTimePicker\",\n get: function get() {\n var _this$props4 = this.props,\n singleDateMode = _this$props4.singleDateMode,\n withTimePicker = _this$props4.withTimePicker;\n return singleDateMode && withTimePicker;\n }\n }, {\n key: \"getPreselectedList\",\n value: function getPreselectedList() {\n var preselected = this.props.preselected;\n var preselectedRangeValues;\n\n if (preselected) {\n if (preselected === true) {\n preselectedRangeValues = DEFAULT_PRESELECTED_VALUES;\n } else if (preselected instanceof Array) {\n preselectedRangeValues = preselected;\n } else {\n throw Error('The preselected property must be a boolean or an Array types');\n }\n }\n\n return preselectedRangeValues;\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (!this.props.singleDateMode && this.props.preselected && this.props.dateRange) {\n this.checkPreselectedValues(this.props.dateRange, this.state.preselectedRangeValues);\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n var preselectedRangeValues;\n\n if (this.props.preselected !== prevProps.preselected) {\n preselectedRangeValues = this.getPreselectedList();\n this.setState(function () {\n return {\n preselectedRangeValues: preselectedRangeValues\n };\n });\n }\n\n if (!this.props.singleDateMode && this.props.preselected && prevProps.dateRange !== this.props.dateRange) {\n this.checkPreselectedValues(this.props.dateRange, preselectedRangeValues || this.state.preselectedRangeValues);\n }\n\n if (this.props.singleDateMode && this.props.preselected && prevProps.singleDate !== this.props.singleDate) {\n this.checkPreselectedValue(this.props.singleDate, preselectedRangeValues || this.state.preselectedRangeValues);\n }\n }\n }, {\n key: \"checkPreselectedValue\",\n value: function checkPreselectedValue(singleDate, preselectedRange, returnResult) {\n var preselectedRangeKey = null;\n\n for (var i = 0; i < preselectedRange.length; i++) {\n var current = preselectedRange[i];\n var preselectedDate = getMomentDate(current.date);\n\n if (preselectedDate.isSame(getMomentDate(singleDate), 'day')) {\n preselectedRangeKey = current.key;\n }\n }\n\n if (returnResult) {\n return preselectedRangeKey;\n }\n\n if (this.state.preselectedRange) {\n this.setState({\n preselectedRange: preselectedRangeKey\n });\n }\n }\n }, {\n key: \"checkPreselectedValues\",\n value: function checkPreselectedValues(dateRange, preselectedRange) {\n var start = getMomentDate(dateRange.start);\n var end = getMomentDate(dateRange.end);\n\n for (var ii = 0; ii < preselectedRange.length; ii++) {\n var current = preselectedRange[ii];\n var rangeStart = getMomentDate(current.start);\n var rangeEnd = getMomentDate(current.end);\n\n if (start.isSame(rangeStart, 'day') && end.isSame(rangeEnd, 'day')) {\n this.setState({\n preselectedRange: current.key\n });\n return;\n }\n }\n\n if (this.state.preselectedRange) {\n this.setState({\n preselectedRange: null\n });\n }\n }\n }, {\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(newProps, newState) {\n if (this.state.isOpen !== newState.isOpen || this.state.focusedElement !== newState.focusedElement) {\n return true;\n }\n\n return !(newProps.dateRange === this.props.dateRange && newState.preselectedRange === this.state.preselectedRange && newState.preselectedRangeValues === this.state.preselectedRangeValues && newProps.singleDate === this.props.singleDate && newProps.preselected === this.props.preselected && newProps.afterSelection === this.state.afterSelection);\n }\n }, {\n key: \"renderPreselectedRange\",\n value: function renderPreselectedRange(onSelectCallback, selectedRangeId) {\n var _this2 = this;\n\n if (!this.props.preselected) {\n return null;\n }\n\n var preselectedRangeValues = this.state.preselectedRangeValues;\n return /*#__PURE__*/React__default.createElement(\"div\", {\n \"data-active-range\": this.state.preselectedRange,\n className: \"date-range-picker__btns\",\n onClick: this.selectPreselectedRange(onSelectCallback)\n }, preselectedRangeValues.map(function (item, index) {\n return /*#__PURE__*/React__default.createElement(\"button\", {\n key: index,\n className: \"date-range-picker__btn \".concat((selectedRangeId === undefined ? _this2.state.preselectedRange === item.key : selectedRangeId === item.key) ? '_active' : ''),\n \"data-range-id\": item.key\n }, item.title);\n }));\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this3 = this;\n\n var _this$props5 = this.props,\n singleDate = _this$props5.singleDate,\n singleDateMode = _this$props5.singleDateMode,\n insidePreselectors = _this$props5.insidePreselectors,\n dateRangePickerClassName = _this$props5.dateRangePickerClassName,\n applyBtnClassName = _this$props5.applyBtnClassName,\n variant = _this$props5.variant,\n confirmButtonClicked = _this$props5.confirmButtonClicked,\n underline = _this$props5.underline,\n dataDogApplyButtonLabel = _this$props5.dataDogApplyButtonLabel,\n onClickApply = _this$props5.onClickApply;\n var _this$props6 = this.props,\n datePickerProps = _this$props6.datePickerProps,\n removeSafariSelectionIssue = _this$props6.removeSafariSelectionIssue;\n var _this$state = this.state,\n isButtonDisabled = _this$state.isButtonDisabled,\n isOpen = _this$state.isOpen;\n\n var _ref3 = this.props.dateRange || {},\n start = _ref3.start,\n end = _ref3.end;\n\n var value1 = null;\n\n if (start && end) {\n value1 = moment.range(moment(start).startOf('day'), moment(end));\n } else if (singleDateMode) {\n value1 = singleDate ? moment(singleDate) : null;\n }\n\n var animateYAxisClassName = this.props.datePickerProps.animationAxis === 'Y' ? '_animate-y-axis' : '';\n var dateRangePickerClassNames = ['date-range-picker'];\n\n if (isOpen) {\n dateRangePickerClassNames.push('_opened');\n }\n\n if (this.withTimePicker) {\n dateRangePickerClassNames.push('date-range-picker_with-time');\n }\n\n if (dateRangePickerClassName) {\n dateRangePickerClassNames.push(dateRangePickerClassName);\n }\n\n var applyBtnClassNames = ['btn-square _xs _filled _conflower-blue date-range-picker__btn-done'];\n\n if (applyBtnClassName) {\n applyBtnClassNames.push(applyBtnClassName);\n }\n\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: dateRangePickerClassNames.join(' ')\n }, !singleDateMode && !insidePreselectors && this.renderPreselectedRange(), /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"date-range-picker__wrapper \".concat(underline ? '_underline' : '')\n }, this.renderSelectionValue(), singleDateMode && variant === 'withTickbox' && this.state.isOpen ? /*#__PURE__*/React__default.createElement(ButtonCircle, {\n onClick: function onClick(event) {\n _this3.onClose();\n\n confirmButtonClicked(event);\n },\n variant: \"primary\",\n iconName: \"CheckCircleBW\",\n className: \"date-confirmBtn\",\n tabIndex: 0\n }) : null, /*#__PURE__*/React__default.createElement(Transition, {\n \"in\": this.state.isOpen,\n timeout: {\n enter: 1,\n exit: 250\n },\n unmountOnExit: true\n }, function (state) {\n return /*#__PURE__*/React__default.createElement(DatesPickerOnDoneWrapper, {\n value: value1,\n inputValue: _this3.state.inputValue || value1,\n resetInputValue: function resetInputValue() {\n return _this3.setState({\n inputValue: null\n });\n },\n onSelect: _this3.onSelect,\n updateByDone: _this3.props.updateByDone,\n preselectedRangeValues: _this3.getPreselectedList()\n }, function (value, _onSelect, preselectedRangeKey, resetInputValue) {\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"date-range-picker__wrapper-inner _\".concat(state, \" \").concat(animateYAxisClassName),\n ref: _this3.innerWrapperHandler\n }, /*#__PURE__*/React__default.createElement(DatesPickerWithTimePicker, {\n toggleToTime: _this3.state.afterSelection,\n clearAfterSelection: _this3.revertAfterSelection,\n value: value,\n withTimePicker: _this3.withTimePicker,\n onChange: _onSelect\n }, /*#__PURE__*/React__default.createElement(DateRangePicker, _extends_1({\n ref: function ref(comp) {\n _this3.pickerComponent = comp;\n },\n value: value,\n onSelect: function onSelect(v) {\n _onSelect(v);\n\n resetInputValue();\n\n _this3.setState({\n afterSelection: true,\n isButtonDisabled: false\n });\n },\n focusedElement: _this3.state.focusedElement,\n selectionType: singleDateMode ? 'single' : 'range',\n onSelectStart: function onSelectStart() {\n return _this3.setState({\n isButtonDisabled: true\n });\n }\n }, datePickerProps))), /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"date-range-picker__controls\"\n }, _this3.props.insidePreselectors && _this3.renderPreselectedRange(_onSelect, singleDateMode ? _this3.checkPreselectedValue(value, _this3.state.preselectedRangeValues, true) : preselectedRangeKey), /*#__PURE__*/React__default.createElement(Button, _extends_1({\n size: \"small\",\n className: applyBtnClassNames.join(' '),\n onClick: function onClick(event) {\n var datesValue = removeSafariSelectionIssue ? value || _this3.state.inputValue : _this3.state.inputValue || value;\n\n if (onClickApply) {\n onClickApply(datesValue);\n }\n\n _this3.onSelect(datesValue);\n\n _this3.handleClickOutside(event);\n },\n disabled: isButtonDisabled\n }, dataDogApplyButtonLabel ? {\n 'data-dd-action-name': dataDogApplyButtonLabel\n } : {}), \"Apply\")));\n });\n })));\n }\n }]);\n\n return DatesPickerComponent;\n}(Component);\nDatesPickerComponent.defaultProps = {\n updateDateRange: noop$1,\n dateRange: {\n start: '',\n end: ''\n },\n preselected: false,\n insidePreselectors: false,\n singleDate: '',\n singleDateMode: false,\n labels: [],\n dateFormat: DATE_FORMAT,\n withTimePicker: false,\n updateByDone: true,\n label: '',\n noLabel: false,\n variant: 'withoutTickbox',\n confirmButtonClicked: function confirmButtonClicked() {},\n underline: false\n};\nDatesPickerWrapper.propTypes = {\n tooltipParams: PropTypes__default.object\n};\nvar propTypes = {\n datePickerProps: PropTypes__default.object,\n dateRange: PropTypes__default.shape({\n start: PropTypes__default.oneOfType([PropTypes__default.number, momentOrDatePropCheck]),\n end: PropTypes__default.oneOfType([PropTypes__default.number, momentOrDatePropCheck])\n }),\n singleDate: PropTypes__default.oneOfType([PropTypes__default.number, momentOrDatePropCheck]),\n preselected: PropTypes__default.oneOfType([PropTypes__default.bool, PropTypes__default.arrayOf(PropTypes__default.shape({\n start: momentOrDatePropCheck,\n end: momentOrDatePropCheck,\n title: PropTypes__default.string,\n key: PropTypes__default.string\n }))]),\n insidePreselectors: PropTypes__default.bool,\n updateDateRange: PropTypes__default.func,\n dateFormat: PropTypes__default.string,\n singleDateMode: PropTypes__default.bool,\n labels: PropTypes__default.arrayOf(PropTypes__default.string),\n withTimePicker: PropTypes__default.bool,\n updateByDone: PropTypes__default.bool,\n label: PropTypes__default.string,\n noLabel: PropTypes__default.bool,\n singleDatePlaceholder: PropTypes__default.string,\n tooltipParams: PropTypes__default.object,\n className: PropTypes__default.string,\n dateRangePickerClassName: PropTypes__default.string,\n applyBtnClassName: PropTypes__default.string,\n isClearable: PropTypes__default.bool,\n disabled: PropTypes__default.bool,\n variant: PropTypes__default.oneOf(['withTickbox', 'withoutTickbox']),\n confirmButtonClicked: PropTypes__default.func,\n underline: PropTypes__default.bool,\n removeSafariSelectionIssue: PropTypes__default.bool,\n dataDogApplyButtonLabel: PropTypes__default.string,\n onClickApply: PropTypes__default.func\n};\nDatesPickerComponent.propTypes = propTypes;\nvar DatesPicker = withClickOutside(DatesPickerComponent);\nDatesPicker.propTypes = propTypes;\n\nfunction _extends$1() {\n _extends$1 = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends$1.apply(this, arguments);\n}\n\nfunction _assertThisInitialized$1(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nvar safeIsNaN = Number.isNaN ||\n function ponyfill(value) {\n return typeof value === 'number' && value !== value;\n };\nfunction isEqual$1(first, second) {\n if (first === second) {\n return true;\n }\n if (safeIsNaN(first) && safeIsNaN(second)) {\n return true;\n }\n return false;\n}\nfunction areInputsEqual(newInputs, lastInputs) {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n for (var i = 0; i < newInputs.length; i++) {\n if (!isEqual$1(newInputs[i], lastInputs[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n if (isEqual === void 0) { isEqual = areInputsEqual; }\n var lastThis;\n var lastArgs = [];\n var lastResult;\n var calledOnce = false;\n function memoized() {\n var newArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n newArgs[_i] = arguments[_i];\n }\n if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) {\n return lastResult;\n }\n lastResult = resultFn.apply(this, newArgs);\n calledOnce = true;\n lastThis = this;\n lastArgs = newArgs;\n return lastResult;\n }\n return memoized;\n}\n\n// Animation frame based implementation of setTimeout.\n// Inspired by Joe Lambert, https://gist.github.com/joelambert/1002116#file-requesttimeout-js\nvar hasNativePerformanceNow = typeof performance === 'object' && typeof performance.now === 'function';\nvar now = hasNativePerformanceNow ? function () {\n return performance.now();\n} : function () {\n return Date.now();\n};\nfunction cancelTimeout(timeoutID) {\n cancelAnimationFrame(timeoutID.id);\n}\nfunction requestTimeout(callback, delay) {\n var start = now();\n\n function tick() {\n if (now() - start >= delay) {\n callback.call(null);\n } else {\n timeoutID.id = requestAnimationFrame(tick);\n }\n }\n\n var timeoutID = {\n id: requestAnimationFrame(tick)\n };\n return timeoutID;\n}\nvar cachedRTLResult = null; // TRICKY According to the spec, scrollLeft should be negative for RTL aligned elements.\n// Chrome does not seem to adhere; its scrollLeft values are positive (measured relative to the left).\n// Safari's elastic bounce makes detecting this even more complicated wrt potential false positives.\n// The safest way to check this is to intentionally set a negative offset,\n// and then verify that the subsequent \"scroll\" event matches the negative offset.\n// If it does not match, then we can assume a non-standard RTL scroll implementation.\n\nfunction getRTLOffsetType(recalculate) {\n if (recalculate === void 0) {\n recalculate = false;\n }\n\n if (cachedRTLResult === null || recalculate) {\n var outerDiv = document.createElement('div');\n var outerStyle = outerDiv.style;\n outerStyle.width = '50px';\n outerStyle.height = '50px';\n outerStyle.overflow = 'scroll';\n outerStyle.direction = 'rtl';\n var innerDiv = document.createElement('div');\n var innerStyle = innerDiv.style;\n innerStyle.width = '100px';\n innerStyle.height = '100px';\n outerDiv.appendChild(innerDiv);\n document.body.appendChild(outerDiv);\n\n if (outerDiv.scrollLeft > 0) {\n cachedRTLResult = 'positive-descending';\n } else {\n outerDiv.scrollLeft = 1;\n\n if (outerDiv.scrollLeft === 0) {\n cachedRTLResult = 'negative';\n } else {\n cachedRTLResult = 'positive-ascending';\n }\n }\n\n document.body.removeChild(outerDiv);\n return cachedRTLResult;\n }\n\n return cachedRTLResult;\n}\n\nif (process.env.NODE_ENV !== 'production') ;\n\nvar IS_SCROLLING_DEBOUNCE_INTERVAL$1 = 150;\n\nvar defaultItemKey$1 = function defaultItemKey(index, data) {\n return index;\n}; // In DEV mode, this Set helps us only log a warning once per component instance.\n// This avoids spamming the console every time a render happens.\n\n\nvar devWarningsDirection = null;\nvar devWarningsTagName$1 = null;\n\nif (process.env.NODE_ENV !== 'production') {\n if (typeof window !== 'undefined' && typeof window.WeakSet !== 'undefined') {\n devWarningsDirection = /*#__PURE__*/new WeakSet();\n devWarningsTagName$1 = /*#__PURE__*/new WeakSet();\n }\n}\n\nfunction createListComponent(_ref) {\n var _class;\n\n var getItemOffset = _ref.getItemOffset,\n getEstimatedTotalSize = _ref.getEstimatedTotalSize,\n getItemSize = _ref.getItemSize,\n getOffsetForIndexAndAlignment = _ref.getOffsetForIndexAndAlignment,\n getStartIndexForOffset = _ref.getStartIndexForOffset,\n getStopIndexForStartIndex = _ref.getStopIndexForStartIndex,\n initInstanceProps = _ref.initInstanceProps,\n shouldResetStyleCacheOnItemSizeChange = _ref.shouldResetStyleCacheOnItemSizeChange,\n validateProps = _ref.validateProps;\n return _class = /*#__PURE__*/function (_PureComponent) {\n _inheritsLoose(List, _PureComponent);\n\n // Always use explicit constructor for React components.\n // It produces less code after transpilation. (#26)\n // eslint-disable-next-line no-useless-constructor\n function List(props) {\n var _this;\n\n _this = _PureComponent.call(this, props) || this;\n _this._instanceProps = initInstanceProps(_this.props, _assertThisInitialized$1(_this));\n _this._outerRef = void 0;\n _this._resetIsScrollingTimeoutId = null;\n _this.state = {\n instance: _assertThisInitialized$1(_this),\n isScrolling: false,\n scrollDirection: 'forward',\n scrollOffset: typeof _this.props.initialScrollOffset === 'number' ? _this.props.initialScrollOffset : 0,\n scrollUpdateWasRequested: false\n };\n _this._callOnItemsRendered = void 0;\n _this._callOnItemsRendered = memoizeOne(function (overscanStartIndex, overscanStopIndex, visibleStartIndex, visibleStopIndex) {\n return _this.props.onItemsRendered({\n overscanStartIndex: overscanStartIndex,\n overscanStopIndex: overscanStopIndex,\n visibleStartIndex: visibleStartIndex,\n visibleStopIndex: visibleStopIndex\n });\n });\n _this._callOnScroll = void 0;\n _this._callOnScroll = memoizeOne(function (scrollDirection, scrollOffset, scrollUpdateWasRequested) {\n return _this.props.onScroll({\n scrollDirection: scrollDirection,\n scrollOffset: scrollOffset,\n scrollUpdateWasRequested: scrollUpdateWasRequested\n });\n });\n _this._getItemStyle = void 0;\n\n _this._getItemStyle = function (index) {\n var _this$props = _this.props,\n direction = _this$props.direction,\n itemSize = _this$props.itemSize,\n layout = _this$props.layout;\n\n var itemStyleCache = _this._getItemStyleCache(shouldResetStyleCacheOnItemSizeChange && itemSize, shouldResetStyleCacheOnItemSizeChange && layout, shouldResetStyleCacheOnItemSizeChange && direction);\n\n var style;\n\n if (itemStyleCache.hasOwnProperty(index)) {\n style = itemStyleCache[index];\n } else {\n var _offset = getItemOffset(_this.props, index, _this._instanceProps);\n\n var size = getItemSize(_this.props, index, _this._instanceProps); // TODO Deprecate direction \"horizontal\"\n\n var isHorizontal = direction === 'horizontal' || layout === 'horizontal';\n var isRtl = direction === 'rtl';\n var offsetHorizontal = isHorizontal ? _offset : 0;\n itemStyleCache[index] = style = {\n position: 'absolute',\n left: isRtl ? undefined : offsetHorizontal,\n right: isRtl ? offsetHorizontal : undefined,\n top: !isHorizontal ? _offset : 0,\n height: !isHorizontal ? size : '100%',\n width: isHorizontal ? size : '100%'\n };\n }\n\n return style;\n };\n\n _this._getItemStyleCache = void 0;\n _this._getItemStyleCache = memoizeOne(function (_, __, ___) {\n return {};\n });\n\n _this._onScrollHorizontal = function (event) {\n var _event$currentTarget = event.currentTarget,\n clientWidth = _event$currentTarget.clientWidth,\n scrollLeft = _event$currentTarget.scrollLeft,\n scrollWidth = _event$currentTarget.scrollWidth;\n\n _this.setState(function (prevState) {\n if (prevState.scrollOffset === scrollLeft) {\n // Scroll position may have been updated by cDM/cDU,\n // In which case we don't need to trigger another render,\n // And we don't want to update state.isScrolling.\n return null;\n }\n\n var direction = _this.props.direction;\n var scrollOffset = scrollLeft;\n\n if (direction === 'rtl') {\n // TRICKY According to the spec, scrollLeft should be negative for RTL aligned elements.\n // This is not the case for all browsers though (e.g. Chrome reports values as positive, measured relative to the left).\n // It's also easier for this component if we convert offsets to the same format as they would be in for ltr.\n // So the simplest solution is to determine which browser behavior we're dealing with, and convert based on it.\n switch (getRTLOffsetType()) {\n case 'negative':\n scrollOffset = -scrollLeft;\n break;\n\n case 'positive-descending':\n scrollOffset = scrollWidth - clientWidth - scrollLeft;\n break;\n }\n } // Prevent Safari's elastic scrolling from causing visual shaking when scrolling past bounds.\n\n\n scrollOffset = Math.max(0, Math.min(scrollOffset, scrollWidth - clientWidth));\n return {\n isScrolling: true,\n scrollDirection: prevState.scrollOffset < scrollLeft ? 'forward' : 'backward',\n scrollOffset: scrollOffset,\n scrollUpdateWasRequested: false\n };\n }, _this._resetIsScrollingDebounced);\n };\n\n _this._onScrollVertical = function (event) {\n var _event$currentTarget2 = event.currentTarget,\n clientHeight = _event$currentTarget2.clientHeight,\n scrollHeight = _event$currentTarget2.scrollHeight,\n scrollTop = _event$currentTarget2.scrollTop;\n\n _this.setState(function (prevState) {\n if (prevState.scrollOffset === scrollTop) {\n // Scroll position may have been updated by cDM/cDU,\n // In which case we don't need to trigger another render,\n // And we don't want to update state.isScrolling.\n return null;\n } // Prevent Safari's elastic scrolling from causing visual shaking when scrolling past bounds.\n\n\n var scrollOffset = Math.max(0, Math.min(scrollTop, scrollHeight - clientHeight));\n return {\n isScrolling: true,\n scrollDirection: prevState.scrollOffset < scrollOffset ? 'forward' : 'backward',\n scrollOffset: scrollOffset,\n scrollUpdateWasRequested: false\n };\n }, _this._resetIsScrollingDebounced);\n };\n\n _this._outerRefSetter = function (ref) {\n var outerRef = _this.props.outerRef;\n _this._outerRef = ref;\n\n if (typeof outerRef === 'function') {\n outerRef(ref);\n } else if (outerRef != null && typeof outerRef === 'object' && outerRef.hasOwnProperty('current')) {\n outerRef.current = ref;\n }\n };\n\n _this._resetIsScrollingDebounced = function () {\n if (_this._resetIsScrollingTimeoutId !== null) {\n cancelTimeout(_this._resetIsScrollingTimeoutId);\n }\n\n _this._resetIsScrollingTimeoutId = requestTimeout(_this._resetIsScrolling, IS_SCROLLING_DEBOUNCE_INTERVAL$1);\n };\n\n _this._resetIsScrolling = function () {\n _this._resetIsScrollingTimeoutId = null;\n\n _this.setState({\n isScrolling: false\n }, function () {\n // Clear style cache after state update has been committed.\n // This way we don't break pure sCU for items that don't use isScrolling param.\n _this._getItemStyleCache(-1, null);\n });\n };\n\n return _this;\n }\n\n List.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, prevState) {\n validateSharedProps$1(nextProps, prevState);\n validateProps(nextProps);\n return null;\n };\n\n var _proto = List.prototype;\n\n _proto.scrollTo = function scrollTo(scrollOffset) {\n scrollOffset = Math.max(0, scrollOffset);\n this.setState(function (prevState) {\n if (prevState.scrollOffset === scrollOffset) {\n return null;\n }\n\n return {\n scrollDirection: prevState.scrollOffset < scrollOffset ? 'forward' : 'backward',\n scrollOffset: scrollOffset,\n scrollUpdateWasRequested: true\n };\n }, this._resetIsScrollingDebounced);\n };\n\n _proto.scrollToItem = function scrollToItem(index, align) {\n if (align === void 0) {\n align = 'auto';\n }\n\n var itemCount = this.props.itemCount;\n var scrollOffset = this.state.scrollOffset;\n index = Math.max(0, Math.min(index, itemCount - 1));\n this.scrollTo(getOffsetForIndexAndAlignment(this.props, index, align, scrollOffset, this._instanceProps));\n };\n\n _proto.componentDidMount = function componentDidMount() {\n var _this$props2 = this.props,\n direction = _this$props2.direction,\n initialScrollOffset = _this$props2.initialScrollOffset,\n layout = _this$props2.layout;\n\n if (typeof initialScrollOffset === 'number' && this._outerRef != null) {\n var outerRef = this._outerRef; // TODO Deprecate direction \"horizontal\"\n\n if (direction === 'horizontal' || layout === 'horizontal') {\n outerRef.scrollLeft = initialScrollOffset;\n } else {\n outerRef.scrollTop = initialScrollOffset;\n }\n }\n\n this._callPropsCallbacks();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n var _this$props3 = this.props,\n direction = _this$props3.direction,\n layout = _this$props3.layout;\n var _this$state = this.state,\n scrollOffset = _this$state.scrollOffset,\n scrollUpdateWasRequested = _this$state.scrollUpdateWasRequested;\n\n if (scrollUpdateWasRequested && this._outerRef != null) {\n var outerRef = this._outerRef; // TODO Deprecate direction \"horizontal\"\n\n if (direction === 'horizontal' || layout === 'horizontal') {\n if (direction === 'rtl') {\n // TRICKY According to the spec, scrollLeft should be negative for RTL aligned elements.\n // This is not the case for all browsers though (e.g. Chrome reports values as positive, measured relative to the left).\n // So we need to determine which browser behavior we're dealing with, and mimic it.\n switch (getRTLOffsetType()) {\n case 'negative':\n outerRef.scrollLeft = -scrollOffset;\n break;\n\n case 'positive-ascending':\n outerRef.scrollLeft = scrollOffset;\n break;\n\n default:\n var clientWidth = outerRef.clientWidth,\n scrollWidth = outerRef.scrollWidth;\n outerRef.scrollLeft = scrollWidth - clientWidth - scrollOffset;\n break;\n }\n } else {\n outerRef.scrollLeft = scrollOffset;\n }\n } else {\n outerRef.scrollTop = scrollOffset;\n }\n }\n\n this._callPropsCallbacks();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this._resetIsScrollingTimeoutId !== null) {\n cancelTimeout(this._resetIsScrollingTimeoutId);\n }\n };\n\n _proto.render = function render() {\n var _this$props4 = this.props,\n children = _this$props4.children,\n className = _this$props4.className,\n direction = _this$props4.direction,\n height = _this$props4.height,\n innerRef = _this$props4.innerRef,\n innerElementType = _this$props4.innerElementType,\n innerTagName = _this$props4.innerTagName,\n itemCount = _this$props4.itemCount,\n itemData = _this$props4.itemData,\n _this$props4$itemKey = _this$props4.itemKey,\n itemKey = _this$props4$itemKey === void 0 ? defaultItemKey$1 : _this$props4$itemKey,\n layout = _this$props4.layout,\n outerElementType = _this$props4.outerElementType,\n outerTagName = _this$props4.outerTagName,\n style = _this$props4.style,\n useIsScrolling = _this$props4.useIsScrolling,\n width = _this$props4.width;\n var isScrolling = this.state.isScrolling; // TODO Deprecate direction \"horizontal\"\n\n var isHorizontal = direction === 'horizontal' || layout === 'horizontal';\n var onScroll = isHorizontal ? this._onScrollHorizontal : this._onScrollVertical;\n\n var _this$_getRangeToRend = this._getRangeToRender(),\n startIndex = _this$_getRangeToRend[0],\n stopIndex = _this$_getRangeToRend[1];\n\n var items = [];\n\n if (itemCount > 0) {\n for (var _index = startIndex; _index <= stopIndex; _index++) {\n items.push(createElement(children, {\n data: itemData,\n key: itemKey(_index, itemData),\n index: _index,\n isScrolling: useIsScrolling ? isScrolling : undefined,\n style: this._getItemStyle(_index)\n }));\n }\n } // Read this value AFTER items have been created,\n // So their actual sizes (if variable) are taken into consideration.\n\n\n var estimatedTotalSize = getEstimatedTotalSize(this.props, this._instanceProps);\n return createElement(outerElementType || outerTagName || 'div', {\n className: className,\n onScroll: onScroll,\n ref: this._outerRefSetter,\n style: _extends$1({\n position: 'relative',\n height: height,\n width: width,\n overflow: 'auto',\n WebkitOverflowScrolling: 'touch',\n willChange: 'transform',\n direction: direction\n }, style)\n }, createElement(innerElementType || innerTagName || 'div', {\n children: items,\n ref: innerRef,\n style: {\n height: isHorizontal ? '100%' : estimatedTotalSize,\n pointerEvents: isScrolling ? 'none' : undefined,\n width: isHorizontal ? estimatedTotalSize : '100%'\n }\n }));\n };\n\n _proto._callPropsCallbacks = function _callPropsCallbacks() {\n if (typeof this.props.onItemsRendered === 'function') {\n var itemCount = this.props.itemCount;\n\n if (itemCount > 0) {\n var _this$_getRangeToRend2 = this._getRangeToRender(),\n _overscanStartIndex = _this$_getRangeToRend2[0],\n _overscanStopIndex = _this$_getRangeToRend2[1],\n _visibleStartIndex = _this$_getRangeToRend2[2],\n _visibleStopIndex = _this$_getRangeToRend2[3];\n\n this._callOnItemsRendered(_overscanStartIndex, _overscanStopIndex, _visibleStartIndex, _visibleStopIndex);\n }\n }\n\n if (typeof this.props.onScroll === 'function') {\n var _this$state2 = this.state,\n _scrollDirection = _this$state2.scrollDirection,\n _scrollOffset = _this$state2.scrollOffset,\n _scrollUpdateWasRequested = _this$state2.scrollUpdateWasRequested;\n\n this._callOnScroll(_scrollDirection, _scrollOffset, _scrollUpdateWasRequested);\n }\n } // Lazily create and cache item styles while scrolling,\n // So that pure component sCU will prevent re-renders.\n // We maintain this cache, and pass a style prop rather than index,\n // So that List can clear cached styles and force item re-render if necessary.\n ;\n\n _proto._getRangeToRender = function _getRangeToRender() {\n var _this$props5 = this.props,\n itemCount = _this$props5.itemCount,\n overscanCount = _this$props5.overscanCount;\n var _this$state3 = this.state,\n isScrolling = _this$state3.isScrolling,\n scrollDirection = _this$state3.scrollDirection,\n scrollOffset = _this$state3.scrollOffset;\n\n if (itemCount === 0) {\n return [0, 0, 0, 0];\n }\n\n var startIndex = getStartIndexForOffset(this.props, scrollOffset, this._instanceProps);\n var stopIndex = getStopIndexForStartIndex(this.props, startIndex, scrollOffset, this._instanceProps); // Overscan by one item in each direction so that tab/focus works.\n // If there isn't at least one extra item, tab loops back around.\n\n var overscanBackward = !isScrolling || scrollDirection === 'backward' ? Math.max(1, overscanCount) : 1;\n var overscanForward = !isScrolling || scrollDirection === 'forward' ? Math.max(1, overscanCount) : 1;\n return [Math.max(0, startIndex - overscanBackward), Math.max(0, Math.min(itemCount - 1, stopIndex + overscanForward)), startIndex, stopIndex];\n };\n\n return List;\n }(PureComponent), _class.defaultProps = {\n direction: 'ltr',\n itemData: undefined,\n layout: 'vertical',\n overscanCount: 2,\n useIsScrolling: false\n }, _class;\n} // NOTE: I considered further wrapping individual items with a pure ListItem component.\n// This would avoid ever calling the render function for the same index more than once,\n// But it would also add the overhead of a lot of components/fibers.\n// I assume people already do this (render function returning a class component),\n// So my doing it would just unnecessarily double the wrappers.\n\nvar validateSharedProps$1 = function validateSharedProps(_ref2, _ref3) {\n var children = _ref2.children,\n direction = _ref2.direction,\n height = _ref2.height,\n layout = _ref2.layout,\n innerTagName = _ref2.innerTagName,\n outerTagName = _ref2.outerTagName,\n width = _ref2.width;\n var instance = _ref3.instance;\n\n if (process.env.NODE_ENV !== 'production') {\n if (innerTagName != null || outerTagName != null) {\n if (devWarningsTagName$1 && !devWarningsTagName$1.has(instance)) {\n devWarningsTagName$1.add(instance);\n console.warn('The innerTagName and outerTagName props have been deprecated. ' + 'Please use the innerElementType and outerElementType props instead.');\n }\n } // TODO Deprecate direction \"horizontal\"\n\n\n var isHorizontal = direction === 'horizontal' || layout === 'horizontal';\n\n switch (direction) {\n case 'horizontal':\n case 'vertical':\n if (devWarningsDirection && !devWarningsDirection.has(instance)) {\n devWarningsDirection.add(instance);\n console.warn('The direction prop should be either \"ltr\" (default) or \"rtl\". ' + 'Please use the layout prop to specify \"vertical\" (default) or \"horizontal\" orientation.');\n }\n\n break;\n\n case 'ltr':\n case 'rtl':\n // Valid values\n break;\n\n default:\n throw Error('An invalid \"direction\" prop has been specified. ' + 'Value should be either \"ltr\" or \"rtl\". ' + (\"\\\"\" + direction + \"\\\" was specified.\"));\n }\n\n switch (layout) {\n case 'horizontal':\n case 'vertical':\n // Valid values\n break;\n\n default:\n throw Error('An invalid \"layout\" prop has been specified. ' + 'Value should be either \"horizontal\" or \"vertical\". ' + (\"\\\"\" + layout + \"\\\" was specified.\"));\n }\n\n if (children == null) {\n throw Error('An invalid \"children\" prop has been specified. ' + 'Value should be a React component. ' + (\"\\\"\" + (children === null ? 'null' : typeof children) + \"\\\" was specified.\"));\n }\n\n if (isHorizontal && typeof width !== 'number') {\n throw Error('An invalid \"width\" prop has been specified. ' + 'Horizontal lists must specify a number for width. ' + (\"\\\"\" + (width === null ? 'null' : typeof width) + \"\\\" was specified.\"));\n } else if (!isHorizontal && typeof height !== 'number') {\n throw Error('An invalid \"height\" prop has been specified. ' + 'Vertical lists must specify a number for height. ' + (\"\\\"\" + (height === null ? 'null' : typeof height) + \"\\\" was specified.\"));\n }\n }\n};\n\nvar DEFAULT_ESTIMATED_ITEM_SIZE$1 = 50;\n\nvar getItemMetadata$1 = function getItemMetadata(props, index, instanceProps) {\n var _ref = props,\n itemSize = _ref.itemSize;\n var itemMetadataMap = instanceProps.itemMetadataMap,\n lastMeasuredIndex = instanceProps.lastMeasuredIndex;\n\n if (index > lastMeasuredIndex) {\n var offset = 0;\n\n if (lastMeasuredIndex >= 0) {\n var itemMetadata = itemMetadataMap[lastMeasuredIndex];\n offset = itemMetadata.offset + itemMetadata.size;\n }\n\n for (var i = lastMeasuredIndex + 1; i <= index; i++) {\n var size = itemSize(i);\n itemMetadataMap[i] = {\n offset: offset,\n size: size\n };\n offset += size;\n }\n\n instanceProps.lastMeasuredIndex = index;\n }\n\n return itemMetadataMap[index];\n};\n\nvar findNearestItem$1 = function findNearestItem(props, instanceProps, offset) {\n var itemMetadataMap = instanceProps.itemMetadataMap,\n lastMeasuredIndex = instanceProps.lastMeasuredIndex;\n var lastMeasuredItemOffset = lastMeasuredIndex > 0 ? itemMetadataMap[lastMeasuredIndex].offset : 0;\n\n if (lastMeasuredItemOffset >= offset) {\n // If we've already measured items within this range just use a binary search as it's faster.\n return findNearestItemBinarySearch$1(props, instanceProps, lastMeasuredIndex, 0, offset);\n } else {\n // If we haven't yet measured this high, fallback to an exponential search with an inner binary search.\n // The exponential search avoids pre-computing sizes for the full set of items as a binary search would.\n // The overall complexity for this approach is O(log n).\n return findNearestItemExponentialSearch$1(props, instanceProps, Math.max(0, lastMeasuredIndex), offset);\n }\n};\n\nvar findNearestItemBinarySearch$1 = function findNearestItemBinarySearch(props, instanceProps, high, low, offset) {\n while (low <= high) {\n var middle = low + Math.floor((high - low) / 2);\n var currentOffset = getItemMetadata$1(props, middle, instanceProps).offset;\n\n if (currentOffset === offset) {\n return middle;\n } else if (currentOffset < offset) {\n low = middle + 1;\n } else if (currentOffset > offset) {\n high = middle - 1;\n }\n }\n\n if (low > 0) {\n return low - 1;\n } else {\n return 0;\n }\n};\n\nvar findNearestItemExponentialSearch$1 = function findNearestItemExponentialSearch(props, instanceProps, index, offset) {\n var itemCount = props.itemCount;\n var interval = 1;\n\n while (index < itemCount && getItemMetadata$1(props, index, instanceProps).offset < offset) {\n index += interval;\n interval *= 2;\n }\n\n return findNearestItemBinarySearch$1(props, instanceProps, Math.min(index, itemCount - 1), Math.floor(index / 2), offset);\n};\n\nvar getEstimatedTotalSize = function getEstimatedTotalSize(_ref2, _ref3) {\n var itemCount = _ref2.itemCount;\n var itemMetadataMap = _ref3.itemMetadataMap,\n estimatedItemSize = _ref3.estimatedItemSize,\n lastMeasuredIndex = _ref3.lastMeasuredIndex;\n var totalSizeOfMeasuredItems = 0; // Edge case check for when the number of items decreases while a scroll is in progress.\n // https://github.com/bvaughn/react-window/pull/138\n\n if (lastMeasuredIndex >= itemCount) {\n lastMeasuredIndex = itemCount - 1;\n }\n\n if (lastMeasuredIndex >= 0) {\n var itemMetadata = itemMetadataMap[lastMeasuredIndex];\n totalSizeOfMeasuredItems = itemMetadata.offset + itemMetadata.size;\n }\n\n var numUnmeasuredItems = itemCount - lastMeasuredIndex - 1;\n var totalSizeOfUnmeasuredItems = numUnmeasuredItems * estimatedItemSize;\n return totalSizeOfMeasuredItems + totalSizeOfUnmeasuredItems;\n};\n\nvar VariableSizeList = /*#__PURE__*/createListComponent({\n getItemOffset: function getItemOffset(props, index, instanceProps) {\n return getItemMetadata$1(props, index, instanceProps).offset;\n },\n getItemSize: function getItemSize(props, index, instanceProps) {\n return instanceProps.itemMetadataMap[index].size;\n },\n getEstimatedTotalSize: getEstimatedTotalSize,\n getOffsetForIndexAndAlignment: function getOffsetForIndexAndAlignment(props, index, align, scrollOffset, instanceProps) {\n var direction = props.direction,\n height = props.height,\n layout = props.layout,\n width = props.width; // TODO Deprecate direction \"horizontal\"\n\n var isHorizontal = direction === 'horizontal' || layout === 'horizontal';\n var size = isHorizontal ? width : height;\n var itemMetadata = getItemMetadata$1(props, index, instanceProps); // Get estimated total size after ItemMetadata is computed,\n // To ensure it reflects actual measurements instead of just estimates.\n\n var estimatedTotalSize = getEstimatedTotalSize(props, instanceProps);\n var maxOffset = Math.max(0, Math.min(estimatedTotalSize - size, itemMetadata.offset));\n var minOffset = Math.max(0, itemMetadata.offset - size + itemMetadata.size);\n\n if (align === 'smart') {\n if (scrollOffset >= minOffset - size && scrollOffset <= maxOffset + size) {\n align = 'auto';\n } else {\n align = 'center';\n }\n }\n\n switch (align) {\n case 'start':\n return maxOffset;\n\n case 'end':\n return minOffset;\n\n case 'center':\n return Math.round(minOffset + (maxOffset - minOffset) / 2);\n\n case 'auto':\n default:\n if (scrollOffset >= minOffset && scrollOffset <= maxOffset) {\n return scrollOffset;\n } else if (scrollOffset < minOffset) {\n return minOffset;\n } else {\n return maxOffset;\n }\n\n }\n },\n getStartIndexForOffset: function getStartIndexForOffset(props, offset, instanceProps) {\n return findNearestItem$1(props, instanceProps, offset);\n },\n getStopIndexForStartIndex: function getStopIndexForStartIndex(props, startIndex, scrollOffset, instanceProps) {\n var direction = props.direction,\n height = props.height,\n itemCount = props.itemCount,\n layout = props.layout,\n width = props.width; // TODO Deprecate direction \"horizontal\"\n\n var isHorizontal = direction === 'horizontal' || layout === 'horizontal';\n var size = isHorizontal ? width : height;\n var itemMetadata = getItemMetadata$1(props, startIndex, instanceProps);\n var maxOffset = scrollOffset + size;\n var offset = itemMetadata.offset + itemMetadata.size;\n var stopIndex = startIndex;\n\n while (stopIndex < itemCount - 1 && offset < maxOffset) {\n stopIndex++;\n offset += getItemMetadata$1(props, stopIndex, instanceProps).size;\n }\n\n return stopIndex;\n },\n initInstanceProps: function initInstanceProps(props, instance) {\n var _ref4 = props,\n estimatedItemSize = _ref4.estimatedItemSize;\n var instanceProps = {\n itemMetadataMap: {},\n estimatedItemSize: estimatedItemSize || DEFAULT_ESTIMATED_ITEM_SIZE$1,\n lastMeasuredIndex: -1\n };\n\n instance.resetAfterIndex = function (index, shouldForceUpdate) {\n if (shouldForceUpdate === void 0) {\n shouldForceUpdate = true;\n }\n\n instanceProps.lastMeasuredIndex = Math.min(instanceProps.lastMeasuredIndex, index - 1); // We could potentially optimize further by only evicting styles after this index,\n // But since styles are only cached while scrolling is in progress-\n // It seems an unnecessary optimization.\n // It's unlikely that resetAfterIndex() will be called while a user is scrolling.\n\n instance._getItemStyleCache(-1);\n\n if (shouldForceUpdate) {\n instance.forceUpdate();\n }\n };\n\n return instanceProps;\n },\n shouldResetStyleCacheOnItemSizeChange: false,\n validateProps: function validateProps(_ref5) {\n var itemSize = _ref5.itemSize;\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof itemSize !== 'function') {\n throw Error('An invalid \"itemSize\" prop has been specified. ' + 'Value should be a function. ' + (\"\\\"\" + (itemSize === null ? 'null' : typeof itemSize) + \"\\\" was specified.\"));\n }\n }\n }\n});\n\nvar FixedSizeList = /*#__PURE__*/createListComponent({\n getItemOffset: function getItemOffset(_ref, index) {\n var itemSize = _ref.itemSize;\n return index * itemSize;\n },\n getItemSize: function getItemSize(_ref2, index) {\n var itemSize = _ref2.itemSize;\n return itemSize;\n },\n getEstimatedTotalSize: function getEstimatedTotalSize(_ref3) {\n var itemCount = _ref3.itemCount,\n itemSize = _ref3.itemSize;\n return itemSize * itemCount;\n },\n getOffsetForIndexAndAlignment: function getOffsetForIndexAndAlignment(_ref4, index, align, scrollOffset) {\n var direction = _ref4.direction,\n height = _ref4.height,\n itemCount = _ref4.itemCount,\n itemSize = _ref4.itemSize,\n layout = _ref4.layout,\n width = _ref4.width;\n // TODO Deprecate direction \"horizontal\"\n var isHorizontal = direction === 'horizontal' || layout === 'horizontal';\n var size = isHorizontal ? width : height;\n var lastItemOffset = Math.max(0, itemCount * itemSize - size);\n var maxOffset = Math.min(lastItemOffset, index * itemSize);\n var minOffset = Math.max(0, index * itemSize - size + itemSize);\n\n if (align === 'smart') {\n if (scrollOffset >= minOffset - size && scrollOffset <= maxOffset + size) {\n align = 'auto';\n } else {\n align = 'center';\n }\n }\n\n switch (align) {\n case 'start':\n return maxOffset;\n\n case 'end':\n return minOffset;\n\n case 'center':\n {\n // \"Centered\" offset is usually the average of the min and max.\n // But near the edges of the list, this doesn't hold true.\n var middleOffset = Math.round(minOffset + (maxOffset - minOffset) / 2);\n\n if (middleOffset < Math.ceil(size / 2)) {\n return 0; // near the beginning\n } else if (middleOffset > lastItemOffset + Math.floor(size / 2)) {\n return lastItemOffset; // near the end\n } else {\n return middleOffset;\n }\n }\n\n case 'auto':\n default:\n if (scrollOffset >= minOffset && scrollOffset <= maxOffset) {\n return scrollOffset;\n } else if (scrollOffset < minOffset) {\n return minOffset;\n } else {\n return maxOffset;\n }\n\n }\n },\n getStartIndexForOffset: function getStartIndexForOffset(_ref5, offset) {\n var itemCount = _ref5.itemCount,\n itemSize = _ref5.itemSize;\n return Math.max(0, Math.min(itemCount - 1, Math.floor(offset / itemSize)));\n },\n getStopIndexForStartIndex: function getStopIndexForStartIndex(_ref6, startIndex, scrollOffset) {\n var direction = _ref6.direction,\n height = _ref6.height,\n itemCount = _ref6.itemCount,\n itemSize = _ref6.itemSize,\n layout = _ref6.layout,\n width = _ref6.width;\n // TODO Deprecate direction \"horizontal\"\n var isHorizontal = direction === 'horizontal' || layout === 'horizontal';\n var offset = startIndex * itemSize;\n var size = isHorizontal ? width : height;\n var numVisibleItems = Math.ceil((size + scrollOffset - offset) / itemSize);\n return Math.max(0, Math.min(itemCount - 1, startIndex + numVisibleItems - 1 // -1 is because stop index is inclusive\n ));\n },\n initInstanceProps: function initInstanceProps(props) {// Noop\n },\n shouldResetStyleCacheOnItemSizeChange: true,\n validateProps: function validateProps(_ref7) {\n var itemSize = _ref7.itemSize;\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof itemSize !== 'number') {\n throw Error('An invalid \"itemSize\" prop has been specified. ' + 'Value should be a number. ' + (\"\\\"\" + (itemSize === null ? 'null' : typeof itemSize) + \"\\\" was specified.\"));\n }\n }\n }\n});\n\nvar InfiniteScroll_1 = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nvar _createClass = (function() {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function(Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n})();\n\n\n\nvar _react2 = _interopRequireDefault(React__default);\n\n\n\nvar _propTypes2 = _interopRequireDefault(PropTypes__default);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\nfunction _objectWithoutProperties(obj, keys) {\n var target = {};\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n return target;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\n \"this hasn't been initialised - super() hasn't been called\"\n );\n }\n return call && (typeof call === 'object' || typeof call === 'function')\n ? call\n : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== 'function' && superClass !== null) {\n throw new TypeError(\n 'Super expression must either be null or a function, not ' +\n typeof superClass\n );\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass)\n Object.setPrototypeOf\n ? Object.setPrototypeOf(subClass, superClass)\n : (subClass.__proto__ = superClass);\n}\n\nvar InfiniteScroll = (function(_Component) {\n _inherits(InfiniteScroll, _Component);\n\n function InfiniteScroll(props) {\n _classCallCheck(this, InfiniteScroll);\n\n var _this = _possibleConstructorReturn(\n this,\n (InfiniteScroll.__proto__ || Object.getPrototypeOf(InfiniteScroll)).call(\n this,\n props\n )\n );\n\n _this.scrollListener = _this.scrollListener.bind(_this);\n _this.eventListenerOptions = _this.eventListenerOptions.bind(_this);\n _this.mousewheelListener = _this.mousewheelListener.bind(_this);\n return _this;\n }\n\n _createClass(InfiniteScroll, [\n {\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.pageLoaded = this.props.pageStart;\n this.options = this.eventListenerOptions();\n this.attachScrollListener();\n }\n },\n {\n key: 'componentDidUpdate',\n value: function componentDidUpdate() {\n if (this.props.isReverse && this.loadMore) {\n var parentElement = this.getParentElement(this.scrollComponent);\n parentElement.scrollTop =\n parentElement.scrollHeight -\n this.beforeScrollHeight +\n this.beforeScrollTop;\n this.loadMore = false;\n }\n this.attachScrollListener();\n }\n },\n {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.detachScrollListener();\n this.detachMousewheelListener();\n }\n },\n {\n key: 'isPassiveSupported',\n value: function isPassiveSupported() {\n var passive = false;\n\n var testOptions = {\n get passive() {\n passive = true;\n }\n };\n\n try {\n document.addEventListener('test', null, testOptions);\n document.removeEventListener('test', null, testOptions);\n } catch (e) {\n // ignore\n }\n return passive;\n }\n },\n {\n key: 'eventListenerOptions',\n value: function eventListenerOptions() {\n var options = this.props.useCapture;\n\n if (this.isPassiveSupported()) {\n options = {\n useCapture: this.props.useCapture,\n passive: true\n };\n }\n return options;\n }\n\n // Set a defaut loader for all your `InfiniteScroll` components\n },\n {\n key: 'setDefaultLoader',\n value: function setDefaultLoader(loader) {\n this.defaultLoader = loader;\n }\n },\n {\n key: 'detachMousewheelListener',\n value: function detachMousewheelListener() {\n var scrollEl = window;\n if (this.props.useWindow === false) {\n scrollEl = this.scrollComponent.parentNode;\n }\n\n scrollEl.removeEventListener(\n 'mousewheel',\n this.mousewheelListener,\n this.options ? this.options : this.props.useCapture\n );\n }\n },\n {\n key: 'detachScrollListener',\n value: function detachScrollListener() {\n var scrollEl = window;\n if (this.props.useWindow === false) {\n scrollEl = this.getParentElement(this.scrollComponent);\n }\n\n scrollEl.removeEventListener(\n 'scroll',\n this.scrollListener,\n this.options ? this.options : this.props.useCapture\n );\n scrollEl.removeEventListener(\n 'resize',\n this.scrollListener,\n this.options ? this.options : this.props.useCapture\n );\n }\n },\n {\n key: 'getParentElement',\n value: function getParentElement(el) {\n var scrollParent =\n this.props.getScrollParent && this.props.getScrollParent(el);\n if (scrollParent != null) {\n return scrollParent;\n }\n return el && el.parentNode;\n }\n },\n {\n key: 'filterProps',\n value: function filterProps(props) {\n return props;\n }\n },\n {\n key: 'attachScrollListener',\n value: function attachScrollListener() {\n var parentElement = this.getParentElement(this.scrollComponent);\n\n if (!this.props.hasMore || !parentElement) {\n return;\n }\n\n var scrollEl = window;\n if (this.props.useWindow === false) {\n scrollEl = parentElement;\n }\n\n scrollEl.addEventListener(\n 'mousewheel',\n this.mousewheelListener,\n this.options ? this.options : this.props.useCapture\n );\n scrollEl.addEventListener(\n 'scroll',\n this.scrollListener,\n this.options ? this.options : this.props.useCapture\n );\n scrollEl.addEventListener(\n 'resize',\n this.scrollListener,\n this.options ? this.options : this.props.useCapture\n );\n\n if (this.props.initialLoad) {\n this.scrollListener();\n }\n }\n },\n {\n key: 'mousewheelListener',\n value: function mousewheelListener(e) {\n // Prevents Chrome hangups\n // See: https://stackoverflow.com/questions/47524205/random-high-content-download-time-in-chrome/47684257#47684257\n if (e.deltaY === 1 && !this.isPassiveSupported()) {\n e.preventDefault();\n }\n }\n },\n {\n key: 'scrollListener',\n value: function scrollListener() {\n var el = this.scrollComponent;\n var scrollEl = window;\n var parentNode = this.getParentElement(el);\n\n var offset = void 0;\n if (this.props.useWindow) {\n var doc =\n document.documentElement ||\n document.body.parentNode ||\n document.body;\n var scrollTop =\n scrollEl.pageYOffset !== undefined\n ? scrollEl.pageYOffset\n : doc.scrollTop;\n if (this.props.isReverse) {\n offset = scrollTop;\n } else {\n offset = this.calculateOffset(el, scrollTop);\n }\n } else if (this.props.isReverse) {\n offset = parentNode.scrollTop;\n } else {\n offset =\n el.scrollHeight - parentNode.scrollTop - parentNode.clientHeight;\n }\n\n // Here we make sure the element is visible as well as checking the offset\n if (\n offset < Number(this.props.threshold) &&\n el &&\n el.offsetParent !== null\n ) {\n this.detachScrollListener();\n this.beforeScrollHeight = parentNode.scrollHeight;\n this.beforeScrollTop = parentNode.scrollTop;\n // Call loadMore after detachScrollListener to allow for non-async loadMore functions\n if (typeof this.props.loadMore === 'function') {\n this.props.loadMore((this.pageLoaded += 1));\n this.loadMore = true;\n }\n }\n }\n },\n {\n key: 'calculateOffset',\n value: function calculateOffset(el, scrollTop) {\n if (!el) {\n return 0;\n }\n\n return (\n this.calculateTopPosition(el) +\n (el.offsetHeight - scrollTop - window.innerHeight)\n );\n }\n },\n {\n key: 'calculateTopPosition',\n value: function calculateTopPosition(el) {\n if (!el) {\n return 0;\n }\n return el.offsetTop + this.calculateTopPosition(el.offsetParent);\n }\n },\n {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var renderProps = this.filterProps(this.props);\n\n var children = renderProps.children,\n element = renderProps.element,\n hasMore = renderProps.hasMore,\n initialLoad = renderProps.initialLoad,\n isReverse = renderProps.isReverse,\n loader = renderProps.loader,\n loadMore = renderProps.loadMore,\n pageStart = renderProps.pageStart,\n ref = renderProps.ref,\n threshold = renderProps.threshold,\n useCapture = renderProps.useCapture,\n useWindow = renderProps.useWindow,\n getScrollParent = renderProps.getScrollParent,\n props = _objectWithoutProperties(renderProps, [\n 'children',\n 'element',\n 'hasMore',\n 'initialLoad',\n 'isReverse',\n 'loader',\n 'loadMore',\n 'pageStart',\n 'ref',\n 'threshold',\n 'useCapture',\n 'useWindow',\n 'getScrollParent'\n ]);\n\n props.ref = function(node) {\n _this2.scrollComponent = node;\n if (ref) {\n ref(node);\n }\n };\n\n var childrenArray = [children];\n if (hasMore) {\n if (loader) {\n isReverse\n ? childrenArray.unshift(loader)\n : childrenArray.push(loader);\n } else if (this.defaultLoader) {\n isReverse\n ? childrenArray.unshift(this.defaultLoader)\n : childrenArray.push(this.defaultLoader);\n }\n }\n return _react2.default.createElement(element, props, childrenArray);\n }\n }\n ]);\n\n return InfiniteScroll;\n})(React__default.Component);\n\nInfiniteScroll.propTypes = {\n children: _propTypes2.default.node.isRequired,\n element: _propTypes2.default.node,\n hasMore: _propTypes2.default.bool,\n initialLoad: _propTypes2.default.bool,\n isReverse: _propTypes2.default.bool,\n loader: _propTypes2.default.node,\n loadMore: _propTypes2.default.func.isRequired,\n pageStart: _propTypes2.default.number,\n ref: _propTypes2.default.func,\n getScrollParent: _propTypes2.default.func,\n threshold: _propTypes2.default.number,\n useCapture: _propTypes2.default.bool,\n useWindow: _propTypes2.default.bool\n};\nInfiniteScroll.defaultProps = {\n element: 'div',\n hasMore: false,\n initialLoad: true,\n pageStart: 0,\n ref: null,\n threshold: 250,\n useWindow: true,\n isReverse: false,\n useCapture: false,\n loader: null,\n getScrollParent: null\n};\nexports.default = InfiniteScroll;\nmodule.exports = exports['default'];\n});\n\nunwrapExports(InfiniteScroll_1);\n\nvar reactInfiniteScroller = InfiniteScroll_1;\n\nfunction _createSuper$f(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$f(); return function _createSuperInternal() { var Super = getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$f() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nvar OpenerContentComponent = /*#__PURE__*/function (_Component) {\n inherits(OpenerContentComponent, _Component);\n\n var _super = _createSuper$f(OpenerContentComponent);\n\n function OpenerContentComponent() {\n var _this;\n\n classCallCheck(this, OpenerContentComponent);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _this.handleClickOutside = function (_ref) {\n var target = _ref.target;\n var _this$props = _this.props,\n btn = _this$props.btn,\n handleClickOutside = _this$props.handleClickOutside;\n\n if (!handleClickOutside || !btn || btn.contains(target) || btn === target) {\n return;\n }\n\n handleClickOutside();\n };\n\n return _this;\n }\n\n createClass(OpenerContentComponent, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n _this$props2$classNam = _this$props2.className,\n className = _this$props2$classNam === void 0 ? '' : _this$props2$classNam,\n isOpen = _this$props2.isOpen,\n children = _this$props2.children,\n close = _this$props2.close,\n style = _this$props2.style,\n portal = _this$props2.portal;\n var container = /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"opener \".concat(isOpen ? '_opened' : '', \" \").concat(Boolean(style) ? '' : className),\n style: style\n }, children && /*#__PURE__*/React__default.cloneElement(children, {\n close: close\n }));\n return portal ? /*#__PURE__*/React__default.createElement(\"div\", {\n style: {\n position: 'fixed',\n inset: 0,\n display: isOpen ? 'block' : 'none',\n zIndex: 9999 // We want it higher - refactor in future to have each popup component i.e tooltip to have a priority z-index.\n\n }\n }, container) : container;\n }\n }]);\n\n return OpenerContentComponent;\n}(Component);\n\nvar OpenerContent = withClickOutside(OpenerContentComponent);\nOpenerContentComponent.propTypes = {\n className: PropTypes__default.string,\n isOpen: PropTypes__default.bool,\n btn: PropTypes__default.oneOfType([PropTypes__default.string, PropTypes__default.object]),\n handleClickOutside: PropTypes__default.func,\n close: PropTypes__default.func\n};\n\nfunction ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$3(Object(source), true).forEach(function (key) { defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nvar Opener = function Opener(props) {\n var defaultOpen = props.isOpen,\n onToggle = props.onToggle,\n _props$className = props.className,\n className = _props$className === void 0 ? '' : _props$className,\n _props$btnClassName = props.btnClassName,\n btnClassName = _props$btnClassName === void 0 ? '' : _props$btnClassName,\n _props$contentClassNa = props.contentClassName,\n contentClassName = _props$contentClassNa === void 0 ? '' : _props$contentClassNa,\n btn = props.btn,\n content = props.content,\n _props$contentClose = props.contentClose,\n contentClose = _props$contentClose === void 0 ? true : _props$contentClose,\n _props$isAlwaysOpen = props.isAlwaysOpen,\n isAlwaysOpen = _props$isAlwaysOpen === void 0 ? false : _props$isAlwaysOpen,\n _props$getToggleConte = props.getToggleContent,\n getToggleContent = _props$getToggleConte === void 0 ? function () {} : _props$getToggleConte,\n _props$disabled = props.disabled,\n disabled = _props$disabled === void 0 ? false : _props$disabled,\n _props$portal = props.portal,\n portal = _props$portal === void 0 ? false : _props$portal;\n\n var _useState = useState(defaultOpen),\n _useState2 = slicedToArray(_useState, 2),\n isOpen = _useState2[0],\n setIsOpen = _useState2[1];\n\n var containerRef = useRef(null);\n var btnRef = useRef();\n\n var toggleContent = function toggleContent(isOpenValue) {\n setIsOpen(typeof isOpenValue === 'boolean' ? isOpenValue : !isOpen);\n };\n\n useEffect(function () {\n setIsOpen(defaultOpen);\n }, [defaultOpen]);\n useEffect(function () {\n getToggleContent(toggleContent);\n }, []);\n useEffect(function () {\n if (onToggle) {\n onToggle(isOpen);\n }\n }, [isOpen]);\n\n var closeContent = function closeContent() {\n if (isOpen) {\n setIsOpen(false);\n }\n };\n\n var xyCoords = useMemo(function () {\n if (isOpen && containerRef.current) {\n var _containerRef$current, _containerRef$current2, _containerRef$current3;\n\n var coords = (_containerRef$current = (_containerRef$current2 = containerRef.current) === null || _containerRef$current2 === void 0 ? void 0 : (_containerRef$current3 = _containerRef$current2.getBoundingClientRect) === null || _containerRef$current3 === void 0 ? void 0 : _containerRef$current3.call(_containerRef$current2)) !== null && _containerRef$current !== void 0 ? _containerRef$current : {};\n return {\n top: coords === null || coords === void 0 ? void 0 : coords.bottom,\n left: coords === null || coords === void 0 ? void 0 : coords.left,\n width: coords === null || coords === void 0 ? void 0 : coords.width\n };\n }\n }, [isOpen]);\n var openerContent = /*#__PURE__*/React__default.createElement(OpenerContent, {\n className: \"\".concat(contentClassName),\n isOpen: isOpen || isAlwaysOpen,\n btn: btnRef.current,\n handleClickOutside: closeContent,\n close: contentClose ? closeContent : '',\n style: portal ? _objectSpread$3({\n position: 'absolute'\n }, xyCoords) : undefined,\n portal: portal\n }, content);\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(className, \" \").concat(isOpen ? '_opened' : ''),\n ref: containerRef\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: btnClassName,\n ref: btnRef,\n onClick: function onClick(e) {\n e.stopPropagation();\n\n if (disabled) {\n return;\n }\n\n toggleContent();\n }\n }, btn), Boolean(portal) ? /*#__PURE__*/createPortal(openerContent, document.body) : openerContent);\n};\nOpener.propTypes = {\n className: PropTypes__default.string,\n onToggle: PropTypes__default.func,\n btnClassName: PropTypes__default.string,\n contentClassName: PropTypes__default.string,\n btn: PropTypes__default.oneOfType([PropTypes__default.string, PropTypes__default.object]),\n content: PropTypes__default.oneOfType([PropTypes__default.string, PropTypes__default.object, PropTypes__default.oneOf([null])]),\n isOpen: PropTypes__default.bool,\n getToggleContent: PropTypes__default.func,\n contentClose: PropTypes__default.bool,\n isAlwaysOpen: PropTypes__default.bool,\n disabled: PropTypes__default.bool,\n portal: PropTypes__default.bool\n};\n\nfunction ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$4(Object(source), true).forEach(function (key) { defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar isIncludeSubstr = function isIncludeSubstr() {\n var a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var b = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n return a.toLowerCase().includes(b.toLowerCase());\n};\n\nvar itemIsSelected = function itemIsSelected(item, selectedValue) {\n if (selectedValue === null || selectedValue === undefined || Array.isArray(selectedValue) && !selectedValue.length) {\n return false;\n }\n\n if (Array.isArray(selectedValue)) {\n return selectedValue.some(function (v) {\n return v.value === item.value;\n });\n }\n\n return item.value === selectedValue.value;\n};\n\nvar moveItem = function moveItem(a, from, to) {\n if (from === to || to === null) return a;\n\n var clone = toConsumableArray(a);\n\n clone.splice(to, 0, clone.splice(from, 1)[0]);\n return clone;\n};\n\nvar escape = function escape(str) {\n return str.replace(/\\(/g, '\\\\(').replace(/\\)/g, '\\\\)').replace(/\\{/g, '\\\\{').replace(/\\}/g, '\\\\}').replace(/\\./g, '\\\\.');\n};\n\nvar filterItems = function filterItems(list, search, searchByValue, wildcardSearch) {\n var recurse = function recurse(arr) {\n return arr.map(function (item) {\n if (Array.isArray(item.options)) {\n var options = recurse(item.options);\n\n if (options && options.filter(function (o) {\n return o;\n }).length) {\n return _objectSpread$4(_objectSpread$4({}, item), {}, {\n options: options\n });\n }\n }\n\n if (isIncludeSubstr(item.label, search)) {\n return item;\n }\n\n if (search && wildcardSearch) {\n var lookaheads = search.split(/[%*]+/g).map(function (str) {\n return \"(?=.*\".concat(escape(str), \")\");\n }).join('');\n var regex = RegExp(\"^\".concat(lookaheads, \".*$\"), 'gi');\n\n if (regex.test(item.label)) {\n return item;\n }\n }\n\n if (searchByValue && item.value.toString().includes(search)) {\n return item;\n }\n\n return false;\n }).filter(function (o) {\n return o;\n });\n };\n\n return recurse(list);\n};\nvar getItemClasses = function getItemClasses(item, _ref) {\n var isActive = _ref.isActive,\n indexItem = _ref.indexItem,\n startDragIndex = _ref.startDragIndex,\n targetDropIndex = _ref.targetDropIndex,\n isDisable = _ref.isDisable,\n isReadOnly = _ref.isReadOnly,\n tabsModeIsInclude = _ref.tabsModeIsInclude;\n var className = 'select__option';\n if (isActive) className += ' _active';\n if (item.isGroupHeader) className += ' _header';\n if (item.alwaysEnabled) className += ' _enabled';\n if (item.lastFirstGroup) className += ' _last-enabled';\n if (isDisable) className += ' _disabled';\n if (isReadOnly) className += ' _readonly';\n\n if (tabsModeIsInclude !== undefined) {\n className += tabsModeIsInclude ? ' _include-tab' : ' _exclude-tab';\n }\n\n if (indexItem !== undefined) {\n if (targetDropIndex === indexItem) className += ' _separator';\n if (startDragIndex === indexItem) className += ' _hide';\n className += startDragIndex < targetDropIndex ? ' _bottom' : ' _top';\n }\n\n return className;\n};\nvar updateStateOfOptions = function updateStateOfOptions(state, item, isMulti) {\n var traverseMulti = function traverseMulti(list, parentSelected) {\n if (!list) return;\n var selectedValuesFromItem = [item.value];\n\n if (item.options && item.options.length) {\n item.options.forEach(function (option) {\n selectedValuesFromItem.push(option.value);\n });\n }\n\n list.forEach(function (node) {\n var isActive, included, excluded;\n\n if (node.value === item.value) {\n isActive = !node.isActive;\n\n if (node.isActive) {\n delete node.included;\n delete node.excluded;\n } else {\n included = !!item.included;\n excluded = !!item.excluded;\n }\n } else if (selectedValuesFromItem.includes(node.value)) {\n isActive = !item.isActive;\n } else if (parentSelected !== undefined) {\n isActive = parentSelected;\n }\n\n if (isActive !== undefined) {\n node.isActive = isActive;\n\n if (included) {\n node.included = included;\n }\n\n if (excluded) {\n node.excluded = excluded;\n }\n }\n\n if (!(node.options && node.options.length)) return;\n traverseMulti(node.options, isActive);\n node.isActive = node.options.every(function (o) {\n return o.isActive;\n });\n });\n };\n\n var traverseSingle = function traverseSingle(list) {\n if (!list) return;\n list.forEach(function (node) {\n node.isActive = item.value === node.value;\n traverseSingle(node.options);\n });\n };\n\n var traverse = function traverse(list) {\n if (!list) return;\n isMulti ? traverseMulti(list) : traverseSingle(list);\n };\n\n var clonedState = cloneOptions(state);\n traverse(clonedState);\n return clonedState;\n};\nvar cloneOptions = function cloneOptions(state) {\n var clonedState = [];\n\n if (Array.isArray(state)) {\n clonedState = state.map(function (value) {\n return Object.keys(value).reduce(function (result, key) {\n result[key] = key === 'reactLabel' ? value[key] : cloneDeep(value[key]);\n return result;\n }, {});\n });\n } else {\n clonedState = cloneDeep(state);\n }\n\n return clonedState;\n};\nvar makeStateOfOptions = function makeStateOfOptions(options, selectedValue) {\n var recurse = function recurse(list) {\n var deep = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n return list.map(function (item) {\n var res = _objectSpread$4(_objectSpread$4({}, item), {}, {\n deep: deep,\n isActive: item.alwaysEnabled || itemIsSelected(item, selectedValue)\n });\n\n if (item.options && item.options.length) {\n res.options = recurse(item.options, deep + 1);\n }\n\n if (item.alwaysEnabled) {\n res.alwaysEnabled = item.alwaysEnabled;\n }\n\n if (Array.isArray(selectedValue) && selectedValue.length) {\n var foundedItem = selectedValue.find(function (v) {\n return v.value === item.value;\n });\n\n if (foundedItem) {\n if (foundedItem.included) {\n res.included = true;\n }\n\n if (foundedItem.excluded) {\n res.excluded = true;\n }\n }\n }\n\n return res;\n });\n };\n\n var state = recurse(options);\n return state;\n};\nvar traverseState = function traverseState(list, cb) {\n list.forEach(function (item) {\n cb(item);\n if (item.options && item.options.length) traverseState(item.options, cb);\n });\n};\nvar normalizeValue = function normalizeValue(value) {\n if (!value) return value;\n\n var getProps = function getProps(_ref2) {\n var deep = _ref2.deep,\n options = _ref2.options,\n isActive = _ref2.isActive,\n rest = objectWithoutProperties(_ref2, [\"deep\", \"options\", \"isActive\"]);\n\n return rest;\n };\n\n if (!Array.isArray(value)) {\n return getProps(value);\n } else {\n var list = value.map(function (v) {\n return getProps(v);\n });\n return list;\n }\n};\n\nfunction _createSuper$g(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$g(); return function _createSuperInternal() { var Super = getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$g() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar WithErrorPlaceholderImage = /*#__PURE__*/function (_React$Component) {\n inherits(WithErrorPlaceholderImage, _React$Component);\n\n var _super = _createSuper$g(WithErrorPlaceholderImage);\n\n function WithErrorPlaceholderImage() {\n var _this;\n\n classCallCheck(this, WithErrorPlaceholderImage);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.state = {\n hasLoadingError: false\n };\n\n _this.onError = function () {\n return _this.setState({\n hasLoadingError: true\n });\n };\n\n return _this;\n }\n\n createClass(WithErrorPlaceholderImage, [{\n key: \"render\",\n value: function render() {\n if (this.state.hasLoadingError) {\n return /*#__PURE__*/React__default.createElement(Icon, {\n name: \"NoData\"\n });\n }\n\n return /*#__PURE__*/React__default.createElement(\"img\", {\n src: this.props.src,\n onError: this.onError\n });\n }\n }]);\n\n return WithErrorPlaceholderImage;\n}(React__default.Component);\nWithErrorPlaceholderImage.propTypes = {\n src: PropTypes__default.string\n};\n\nfunction ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$5(Object(source), true).forEach(function (key) { defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper$h(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$h(); return function _createSuperInternal() { var Super = getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$h() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar PADDING_STEP = 20;\n\nvar BtnWrapper = function BtnWrapper(_ref) {\n var children = _ref.children,\n className = _ref.className,\n tooltipParams = _ref.tooltipParams,\n handleClick = _ref.handleClick;\n return tooltipParams ? /*#__PURE__*/React__default.createElement(Tooltip, _extends_1({\n className: className,\n handleClick: handleClick\n }, tooltipParams), children) : /*#__PURE__*/React__default.createElement(\"div\", {\n className: className,\n onClick: handleClick\n }, children);\n};\n\nvar Select = /*#__PURE__*/function (_Component) {\n inherits(Select, _Component);\n\n var _super = _createSuper$h(Select);\n\n function Select(props) {\n var _this;\n\n classCallCheck(this, Select);\n\n _this = _super.call(this, props);\n _this._selectList = null;\n\n _this.setOpenStateThroughProp = function (prevProps) {\n // if isOpen prop is set and not equal to isOpen state\n if (typeof _this.props.isOpen === 'boolean' && _this.props.isOpen !== _this.state.isOpen) {\n _this.setState({\n isOpen: _this.props.isOpen\n }); // prevents closing through windowClickHandler when clicking on external el that changes isOpen prop\n\n\n _this.ignoredCloseClickElement = _this.props.ignoredCloseClickElement;\n }\n };\n\n _this.windowClickHandler = function (_ref2) {\n var target = _ref2.target;\n\n if (!_this.state.isOpen || target.closest('.select-simple') === _this.select || // prevent closing if el added as ignored\n _this.ignoredCloseClickElement && target === _this.ignoredCloseClickElement || _this.state.isSearchCleared && !_this.props.portal) {\n return;\n }\n\n if (_this.state.isSearchCleared && _this.props.portal) {\n _this.setState({\n isSearchCleared: false\n });\n\n return;\n }\n\n _this.setState({\n isOpen: false\n }); // changes isOpen prop when isOpen state is changed\n\n\n _this.props.toggleOpenProp && _this.props.toggleOpenProp(false);\n };\n\n _this.clearSearch = function () {\n if (_this.props.lazyLoad && _this.props.changeSearchHandler) {\n _this.props.changeSearchHandler({\n target: {\n value: ''\n }\n });\n }\n\n _this.setState({\n isSearchCleared: true,\n search: '',\n isOpen: true\n });\n };\n\n _this.toggleSelect = function () {\n var btnOnClick = _this.props.btnOnClick;\n\n if (btnOnClick) {\n btnOnClick();\n } else {\n var isOpen = _this.state.isOpen;\n\n _this.setState({\n isOpen: !isOpen\n }); // changes isOpen prop when isOpen state is changed\n\n\n _this.props.toggleOpenProp && _this.props.toggleOpenProp(!_this.state.isOpen);\n }\n };\n\n _this.handleChangeSearch = function (_ref3) {\n var target = _ref3.target;\n\n _this.props.onSearchChange(target.value);\n\n _this.setState({\n search: target.value\n });\n };\n\n _this.toggleTumbler = function () {\n _this.props.onTumblerChange();\n };\n\n _this.handleSelectedOption = function (item) {\n return function (e) {\n var _this$props = _this.props,\n isMulti = _this$props.isMulti,\n withTabs = _this$props.withTabs,\n maxSelectedLimit = _this$props.maxSelectedLimit,\n value = _this$props.value,\n onExceededMaxLimit = _this$props.onExceededMaxLimit,\n variant = _this$props.variant,\n lazyLoad = _this$props.lazyLoad,\n virtualizationProps = _this$props.virtualizationProps;\n var _this$state = _this.state,\n stateOfOptions = _this$state.stateOfOptions,\n tabsModeIsInclude = _this$state.tabsModeIsInclude;\n\n if (virtualizationProps) {\n e.stopPropagation();\n }\n\n if (value && maxSelectedLimit && !item.isActive && value.length >= maxSelectedLimit) {\n onExceededMaxLimit && onExceededMaxLimit();\n return;\n }\n\n if (withTabs) {\n if (!item.isActive) {\n item = Object.assign(item, tabsModeIsInclude ? {\n included: true\n } : {\n excluded: true\n });\n }\n }\n\n var newState = updateStateOfOptions(stateOfOptions, item, isMulti);\n\n _this.setStateOptions(newState, item);\n\n if (lazyLoad) {\n _this.ignoredCloseClickElement = e.target;\n }\n\n if (!isMulti && variant !== 'withTickbox') {\n _this.toggleSelect();\n }\n };\n };\n\n _this.allSelected = function () {\n var _this$props2 = _this.props,\n totalRecords = _this$props2.totalRecords,\n searchByValue = _this$props2.searchByValue,\n wildcardSearch = _this$props2.wildcardSearch;\n var _this$state2 = _this.state,\n stateOfOptions = _this$state2.stateOfOptions,\n search = _this$state2.search;\n\n if (!stateOfOptions.length) {\n return false;\n }\n\n var allSelected = true;\n\n var callback = function callback(item) {\n if (!item.isActive) {\n allSelected = false;\n }\n };\n\n traverseState(filterItems(stateOfOptions, search, searchByValue, wildcardSearch, _this.props.onSearchChange), callback);\n return totalRecords ? allSelected && stateOfOptions.length === totalRecords : allSelected;\n };\n\n _this.allVisibleItemsSelected = function () {\n var _this$props3 = _this.props,\n searchByValue = _this$props3.searchByValue,\n wildcardSearch = _this$props3.wildcardSearch;\n var _this$state3 = _this.state,\n stateOfOptions = _this$state3.stateOfOptions,\n search = _this$state3.search;\n\n if (!stateOfOptions.length) {\n return false;\n }\n\n var allSelected = true;\n\n var callback = function callback(item) {\n if (!item.isActive) {\n allSelected = false;\n }\n };\n\n traverseState(filterItems(stateOfOptions, search, searchByValue, wildcardSearch), callback);\n return allSelected;\n };\n\n _this.deselectAll = function () {\n var stateOfOptions = _this.state.stateOfOptions;\n var cloneState = cloneOptions(stateOfOptions);\n\n var callback = function callback(item) {\n if (!item.alwaysEnabled) {\n item.isActive = false;\n }\n };\n\n traverseState(cloneState, callback);\n\n _this.setStateOptions(cloneState, null, true);\n };\n\n _this.selectAll = function () {\n var _this$props4 = _this.props,\n searchByValue = _this$props4.searchByValue,\n wildcardSearch = _this$props4.wildcardSearch,\n onSelectAll = _this$props4.onSelectAll,\n withTabs = _this$props4.withTabs;\n var _this$state4 = _this.state,\n stateOfOptions = _this$state4.stateOfOptions,\n search = _this$state4.search,\n tabsModeIsInclude = _this$state4.tabsModeIsInclude;\n var clonedState = cloneOptions(stateOfOptions);\n var cloneState = filterItems(clonedState, search, searchByValue, wildcardSearch);\n\n var callback = function callback(item) {\n item.isActive = true;\n\n if (withTabs) {\n Object.assign(item, tabsModeIsInclude ? {\n included: true\n } : {\n excluded: true\n });\n }\n };\n\n traverseState(cloneState, callback);\n\n _this.setStateOptions(cloneState);\n\n if (onSelectAll) {\n onSelectAll();\n }\n };\n\n _this.onSortStart = function () {\n _this.setState({\n isSorting: true\n });\n };\n\n _this.onSortEnd = function (_ref4) {\n var oldIndex = _ref4.oldIndex,\n newIndex = _ref4.newIndex;\n var newValues = moveItem(_this.state.stateOfOptions, oldIndex, newIndex);\n\n _this.setStateOptions(newValues);\n\n _this.setState({\n targetDropIndex: null,\n startDragIndex: null,\n isSorting: false\n });\n };\n\n _this.handleClearValue = function (e) {\n e.stopPropagation();\n\n _this.deselectAll();\n };\n\n _this.renderItem = function (item, i) {\n var style = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var _this$props5 = _this.props,\n levelPadding = _this$props5.levelPadding,\n withTabs = _this$props5.withTabs,\n _this$props5$isReadOn = _this$props5.isReadOnly,\n isReadOnly = _this$props5$isReadOn === void 0 ? false : _this$props5$isReadOn,\n virtualizationProps = _this$props5.virtualizationProps;\n var tabsModeIsInclude = _this.state.tabsModeIsInclude;\n var additionalProps = {\n style: {}\n };\n var padd = (item.deep || 0) * (levelPadding || PADDING_STEP);\n\n if (padd !== 0) {\n additionalProps.style.paddingLeft = padd;\n }\n\n if (virtualizationProps) {\n var itemHeight = typeof virtualizationProps.itemSize === 'number' ? virtualizationProps.itemSize : virtualizationProps.itemSize(item);\n\n var virtualizationStyles = _objectSpread$5(_objectSpread$5({}, style), {}, {\n height: \"\".concat(itemHeight, \"px\"),\n maxHeight: \"\".concat(itemHeight, \"px\")\n });\n\n additionalProps.style = _objectSpread$5(_objectSpread$5({}, additionalProps.style), virtualizationStyles);\n }\n\n if (!item.isGroupHeader && !item.alwaysEnabled) {\n additionalProps.onClick = _this.handleSelectedOption(item);\n } // to make clickable group header bold the checking is needed:\n // - if option is not a child of other option and have its own children\n // - and also if no reactLabel is used since it has its own markup\n\n\n var isClickableGroupHeader = !item.reactLabel && item.deep === 0 && item.options && item.options.length;\n var isActive = item.isActive,\n included = item.included,\n excluded = item.excluded;\n var _item$isDisable = item.isDisable,\n isDisable = _item$isDisable === void 0 ? false : _item$isDisable;\n\n if (withTabs) {\n isDisable = tabsModeIsInclude ? !!excluded : !!included;\n }\n\n var className = getItemClasses(item, {\n isActive: isActive,\n isDisable: isDisable,\n tabsModeIsInclude: tabsModeIsInclude,\n isReadOnly: isReadOnly\n });\n\n if (isClickableGroupHeader) {\n className += ' _clickable-header';\n }\n\n if (item.deep === 0) {\n className += ' _header-option';\n }\n\n var key = \"\".concat(i, \"_\").concat(padd, \"_\").concat(item.value || uniqueId());\n additionalProps = isReadOnly ? _objectSpread$5(_objectSpread$5({}, additionalProps), {}, {\n onClick: function onClick() {}\n }) : additionalProps;\n return /*#__PURE__*/React__default.createElement(\"div\", _extends_1({\n key: key,\n className: className\n }, additionalProps), /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"select__option-label\"\n }, item.labelImageSrc && /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"select__option-image\"\n }, /*#__PURE__*/React__default.createElement(WithErrorPlaceholderImage, {\n src: item.labelImageSrc\n })), item.reactLabel || item.label));\n };\n\n _this.getRenderVirtualizedItem = function (items) {\n return function (_ref5) {\n var index = _ref5.index,\n style = _ref5.style;\n return _this.renderItem(items[index], index, style);\n };\n };\n\n _this.renderList = function () {\n var _this$props6 = _this.props,\n isSearchable = _this$props6.isSearchable,\n searchByValue = _this$props6.searchByValue,\n wildcardSearch = _this$props6.wildcardSearch,\n lazyLoad = _this$props6.lazyLoad,\n _this$props6$infinite = _this$props6.infiniteScrollProps,\n infiniteScrollProps = _this$props6$infinite === void 0 ? {} : _this$props6$infinite,\n virtualizationProps = _this$props6.virtualizationProps,\n emptyDropdownLabel = _this$props6.emptyDropdownLabel;\n var _this$state5 = _this.state,\n search = _this$state5.search,\n stateOfOptions = _this$state5.stateOfOptions;\n\n if (!stateOfOptions) {\n return null;\n }\n\n var resultOptions = stateOfOptions;\n\n if (isSearchable) {\n resultOptions = filterItems(stateOfOptions, search, searchByValue, wildcardSearch);\n }\n\n var res = [];\n\n var cb = function cb(item) {\n return res.push(item);\n };\n\n traverseState(resultOptions, cb);\n\n if ((!res || !res.length) && emptyDropdownLabel) {\n var _virtualizationProps$;\n\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"select__list\",\n style: {\n width: (_virtualizationProps$ = virtualizationProps === null || virtualizationProps === void 0 ? void 0 : virtualizationProps.width) !== null && _virtualizationProps$ !== void 0 ? _virtualizationProps$ : 'auto'\n }\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"select__option-label\"\n }, emptyDropdownLabel));\n }\n\n if (virtualizationProps) {\n var selectListStyles = virtualizationProps ? {\n height: \"\".concat(virtualizationProps.height, \"px\"),\n maxHeight: \"\".concat(virtualizationProps.height, \"px\"),\n width: \"\".concat(virtualizationProps.width, \"px\"),\n maxWidth: \"\".concat(virtualizationProps.width, \"px\")\n } : {};\n var isFixedSize = typeof virtualizationProps.itemSize === 'number';\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"select__list\",\n style: selectListStyles\n }, isFixedSize ? /*#__PURE__*/React__default.createElement(FixedSizeList, _extends_1({\n itemCount: res.length\n }, virtualizationProps), _this.getRenderVirtualizedItem(res, virtualizationProps.itemSize)) : /*#__PURE__*/React__default.createElement(VariableSizeList, _extends_1({\n ref: _this.virtualizedVariableSizeListRef,\n itemCount: res.length\n }, virtualizationProps, {\n itemSize: function itemSize(index) {\n return virtualizationProps.itemSize(res[index]);\n }\n }), _this.getRenderVirtualizedItem(res, virtualizationProps.itemSize)));\n }\n\n var listItems = res.map(function (item, i) {\n return _this.renderItem(item, i);\n });\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"select__list\",\n ref: function ref(el) {\n _this._selectList = el;\n }\n }, lazyLoad ? /*#__PURE__*/React__default.createElement(reactInfiniteScroller, _extends_1({}, infiniteScrollProps, {\n useWindow: false\n }), listItems) : listItems);\n };\n\n _this.renderButton = function () {\n var shouldRenderBeforeSearch = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var buttonProps = _this.props.buttonProps;\n\n if (buttonProps && shouldRenderBeforeSearch === buttonProps.shouldRenderBeforeSearch) {\n var onClick = buttonProps.shouldCloseOnClick ? function () {\n _this.toggleSelect();\n\n buttonProps.onClick();\n } : buttonProps.onClick;\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"w-100 d-flex justify-content-center\"\n }, /*#__PURE__*/React__default.createElement(Button, {\n className: buttonProps.className || 'btn-round _conflower-blue mt-3 mb-3',\n onClick: onClick\n }, !!buttonProps.symbolBeforeLabel && /*#__PURE__*/React__default.createElement(\"span\", {\n className: \"btn-round__prefix\"\n }, buttonProps.symbolBeforeLabel), buttonProps.label || 'New'));\n }\n\n return null;\n };\n\n _this.renderSelectedValue = function () {\n var _this$props7 = _this.props,\n isMulti = _this$props7.isMulti,\n showValueOnOpen = _this$props7.showValueOnOpen,\n multiPlaceholder = _this$props7.multiPlaceholder,\n allSelectedText = _this$props7.allSelectedText,\n v = _this$props7.value,\n options = _this$props7.options;\n var isOpen = _this.state.isOpen;\n\n if (isMulti) {\n if (v && !!v.length) {\n if ((!isOpen || showValueOnOpen) && _this.allVisibleItemsSelected() && !multiPlaceholder) {\n return allSelectedText || 'All Selected';\n }\n\n var selectionMap = {};\n var selectedCount = v.reduce(function (selectedCount, item) {\n if (!item.uncountable && !(options !== null && options !== void 0 && options.find(function (opt) {\n return opt.options && opt.value === item.value;\n }))) {\n selectedCount = selectionMap[item.value] ? selectedCount : selectedCount + 1;\n selectionMap[item.value] = item.value;\n }\n\n return selectedCount;\n }, 0);\n\n if (multiPlaceholder) {\n return multiPlaceholder(selectedCount);\n }\n\n return \"\".concat(selectedCount, \" Selected\");\n }\n } else {\n // return value if value is array and when isMulti is false\n if (isArray(v)) {\n return v.length ? v[0].label : '';\n }\n\n return v && (v.reactLabel || v.label);\n }\n };\n\n _this.renderTabs = function () {\n var value = _this.props.value;\n var tabsModeIsInclude = _this.state.tabsModeIsInclude;\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"select__tabs d-flex mb-3\"\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"tab flex-grow-1 text-center \".concat(tabsModeIsInclude ? '_active' : ''),\n onClick: function onClick() {\n return _this.setState({\n tabsModeIsInclude: true\n });\n }\n }, \"Allowlist (\".concat(Array.isArray(value) ? _this.props.value.filter(function (i) {\n return i.included;\n }).length : 0, \")\")), /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"tab flex-grow-1 text-center \".concat(tabsModeIsInclude ? '' : '_active'),\n onClick: function onClick() {\n return _this.setState({\n tabsModeIsInclude: false\n });\n }\n }, \"Blocklist (\".concat(Array.isArray(value) ? _this.props.value.filter(function (i) {\n return i.excluded;\n }).length : 0, \")\")));\n };\n\n _this.handleKeyUp = function (event) {\n if (_this.props.onSubmitted && event.key === 'Enter') {\n _this.props.onSubmitted(_this.state.search, _this.toggleSelect);\n }\n };\n\n _this.state = {\n isOpen: false,\n search: '',\n isSearchCleared: false,\n tumblerIsActive: props.tumblerIsActive,\n withGroups: props.options.some(function (item) {\n return item.isGroupHeader;\n }),\n stateOfOptions: makeStateOfOptions(props.options, props.value),\n isSorting: false,\n tabsModeIsInclude: true,\n noOptionValue: ''\n };\n _this.virtualizedVariableSizeListRef = /*#__PURE__*/React__default.createRef();\n return _this;\n }\n\n createClass(Select, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps, nextState) {\n return !(isEqual(['value', 'options', 'isMulti', 'multiPlaceholder', 'noOptionValue', 'allSelectable', 'isSearchable', 'onChange', 'showControlLabel', 'tumbler', 'onTumblerChange', 'label', 'labelImageSrc', 'reactLabel', 'placeholder', 'className', 'isOpen', // sets isOpen state through prop\n 'toggleOpenProp', // changes isOpen prop value\n 'ignoredCloseClickElement', // prevents select from closing when clicking on outer element that changes isOpen prop\n 'isAlwaysOpen', 'btnOnClick'], this.props, nextProps) && isEqual(['isOpen', 'search', 'stateOfOptions', 'tumblerIsActive', 'targetDropIndex', 'startDragIndex', 'isSorting', 'tabsModeIsInclude'], this.state, nextState));\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n window.addEventListener('click', this.windowClickHandler);\n this.setOpenStateThroughProp();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n if (!isEqual(['value', 'options', 'isMulti'], this.props, prevProps) || !isEqual(['isSorting'], this.state, prevState)) {\n var _this$props$virtualiz;\n\n this.setState({\n withGroups: this.props.options.some(function (item) {\n return item.isGroupHeader;\n }),\n stateOfOptions: makeStateOfOptions(this.props.options, this.props.value)\n });\n\n if (this.props.options !== prevProps.options && typeof ((_this$props$virtualiz = this.props.virtualizationProps) === null || _this$props$virtualiz === void 0 ? void 0 : _this$props$virtualiz.itemSize) !== 'number' && this.virtualizedVariableSizeListRef.current) {\n this.virtualizedVariableSizeListRef.current.resetAfterIndex(0);\n }\n }\n\n if (prevProps.tumblerIsActive !== this.props.tumblerIsActive) {\n this.setState({\n tumblerIsActive: this.props.tumblerIsActive\n });\n }\n\n if (this.state.isOpen && this.state.isOpen !== prevState.isOpen) {\n if (this._selectList) {\n this._selectList.classList.add(this.props.scrollableClassName || '_scrollable');\n }\n\n this.searchInput && this.searchInput.focus(); // has isOpen state changed to true, then focus search input\n } // If state.isOpen was changed, then props.isOpen is not yet updated here.\n // This function should be fired by props.isOpen change.\n\n\n if (prevState.isOpen === this.state.isOpen) {\n this.setOpenStateThroughProp(prevProps);\n } // clear filter after drop-down was closed\n\n\n if (!this.state.isOpen && prevState.isOpen) {\n this.setState({\n search: ''\n }); // pass '' to custom search handler\n\n if (this.props.changeSearchHandler) {\n this.props.changeSearchHandler('');\n }\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n window.removeEventListener('click', this.windowClickHandler);\n } // opens/closes select clicking on external element\n\n }, {\n key: \"setStateOptions\",\n value: function setStateOptions(state, item, fromDeselectedAll) {\n var _this$props8 = this.props,\n withConfirmation = _this$props8.withConfirmation,\n onChange = _this$props8.onChange;\n\n if (onChange) {\n var values = [];\n\n var callback = function callback(item) {\n if (item.isActive) values.push(item);\n };\n\n traverseState(state, callback);\n\n if (!this.props.isMulti) {\n values = values.length ? values[0] : null;\n } // add fromDeselectedAll for lazyLoad select\n\n\n onChange(normalizeValue(values), item, fromDeselectedAll);\n }\n\n if (!withConfirmation) {\n this.setState({\n stateOfOptions: state\n });\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props9 = this.props,\n className = _this$props9.className,\n label = _this$props9.label,\n reactLabel = _this$props9.reactLabel,\n allSelectable = _this$props9.allSelectable,\n isMulti = _this$props9.isMulti,\n isClearable = _this$props9.isClearable,\n hideCrossIfClosed = _this$props9.hideCrossIfClosed,\n showValueOnOpen = _this$props9.showValueOnOpen,\n selectAllLabel = _this$props9.selectAllLabel,\n tumbler = _this$props9.tumbler,\n tumblerLabel = _this$props9.tumblerLabel,\n noOptionValue = _this$props9.noOptionValue,\n value = _this$props9.value,\n isSearchable = _this$props9.isSearchable,\n changeSearchHandler = _this$props9.changeSearchHandler,\n placeholder = _this$props9.placeholder,\n tooltipParams = _this$props9.tooltipParams,\n withTabs = _this$props9.withTabs,\n isAlwaysOpen = _this$props9.isAlwaysOpen,\n renderMenuTarget = _this$props9.renderMenuTarget,\n isMenu = _this$props9.isMenu,\n isReadOnly = _this$props9.isReadOnly,\n isNaked = _this$props9.isNaked,\n rightDrop = _this$props9.rightDrop,\n menuClassName = _this$props9.menuClassName,\n fitContainer = _this$props9.fitContainer,\n toggleOpenProp = _this$props9.toggleOpenProp,\n showLabelAlways = _this$props9.showLabelAlways,\n variant = _this$props9.variant,\n confirmButtonClicked = _this$props9.confirmButtonClicked,\n underline = _this$props9.underline,\n isSearchClearable = _this$props9.isSearchClearable,\n portal = _this$props9.portal,\n customSelectRenderValue = _this$props9.customSelectRenderValue,\n allSelectedText = _this$props9.allSelectedText,\n multiPlaceholder = _this$props9.multiPlaceholder,\n virtualizationProps = _this$props9.virtualizationProps;\n var _this$state6 = this.state,\n isOpen = _this$state6.isOpen,\n search = _this$state6.search,\n tumblerIsActive = _this$state6.tumblerIsActive,\n withGroups = _this$state6.withGroups,\n isSorting = _this$state6.isSorting;\n var isSelected = value && (value.reactLabel || value.label || value.length);\n var showSelectAll = isMulti && (isOpen || isMenu) && allSelectable && !this.allVisibleItemsSelected();\n var showClearIcon = (isClearable || allSelectable) && (!hideCrossIfClosed || isOpen || isMenu) && !isReadOnly && value && (!Array.isArray(value) || !!value.length);\n var labelClassName = 'select__label';\n\n if (isSelected) {\n labelClassName += ' _up';\n }\n\n var showLabel = true;\n\n if (!reactLabel && !label && !isOpen && isSelected) {\n showLabel = false;\n }\n\n var classNames = isMenu ? [] : ['select-simple']; // :['select', 'js-select'];\n\n if (isSorting) {\n classNames.push('_sorting');\n }\n\n if (isAlwaysOpen || isOpen) {\n classNames.push('_opened');\n }\n\n if (withGroups) {\n classNames.push('_with-groups');\n }\n\n if (className) {\n classNames.push(className);\n }\n\n if (virtualizationProps) {\n classNames.push('_virtualized');\n }\n\n var renderTriggerButton = function renderTriggerButton() {\n var isInsideMenu = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var selectBtnClasses = ['select__btn', isInsideMenu ? '_inside-menu' : 'opener__btn', isNaked ? 'select__btn-naked' : '', fitContainer || isInsideMenu ? 'select__btn-fit' : 'select__btn-fixed', variant === 'withTickbox' || underline ? '_with-tickbox' : '', underline ? '_underline' : ''].join(' ');\n var style = virtualizationProps ? {\n maxWidth: \"calc(\".concat(virtualizationProps.width, \"px + 2px)\")\n } : {};\n return /*#__PURE__*/React__default.createElement(\"div\", {\n style: style\n }, /*#__PURE__*/React__default.createElement(BtnWrapper, {\n className: selectBtnClasses,\n tooltipParams: isInsideMenu ? {} : tooltipParams,\n tabIndex: 0,\n onKeyDown: function onKeyDown(e) {\n if ((e.key === 'Enter' || !isSearchable && e.key === ' ') && !isInsideMenu) {\n _this2.toggleSelect();\n\n e.stopPropagation();\n }\n }\n }, showLabel && !showLabelAlways && /*#__PURE__*/React__default.createElement(\"div\", {\n className: labelClassName\n }, isOpen ? label || placeholder : isSelected ? label : placeholder), showLabelAlways && !isSelected && /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(labelClassName, \" _placeholder\")\n }, placeholder), /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"select__value \".concat(isSelected && !showValueOnOpen ? '_selected' : '')\n }, typeof customSelectRenderValue === 'function' ? customSelectRenderValue({\n isMulti: isMulti,\n showValueOnOpen: showValueOnOpen,\n multiPlaceholder: multiPlaceholder,\n allSelectedText: allSelectedText,\n value: value,\n isOpen: _this2.state.isOpen\n }) : _this2.renderSelectedValue()), showClearIcon && !allSelectable && /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"select__clear\",\n onClick: _this2.handleClearValue\n }, /*#__PURE__*/React__default.createElement(Icon, {\n name: \"Close\"\n })), !isReadOnly && !showValueOnOpen && /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"select__indicator\"\n })), variant === 'withTickbox' && isOpen ? /*#__PURE__*/React__default.createElement(ButtonCircle, {\n onClick: confirmButtonClicked,\n variant: \"primary\",\n iconName: \"CheckCircleBW\",\n className: \"select__confirmBtn\",\n tabIndex: 0\n }) : null);\n };\n\n var renderSecondRow = function renderSecondRow() {\n var _this2$props$options;\n\n if (!showSelectAll && !(showClearIcon && allSelectable)) {\n return null;\n }\n\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"select__second-row\"\n }, showSelectAll && (_this2$props$options = _this2.props.options) !== null && _this2$props$options !== void 0 && _this2$props$options.length ? /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"select__btn-secondary\",\n onClick: function onClick(e) {\n e.stopPropagation();\n\n _this2.selectAll();\n }\n }, selectAllLabel || 'Select All') : null, showClearIcon && allSelectable && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, !showSelectAll && /*#__PURE__*/React__default.createElement(\"div\", null), /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"select__btn-secondary\",\n onClick: function onClick(e) {\n e.stopPropagation();\n\n _this2.deselectAll();\n }\n }, \"Clear All\")));\n };\n\n var virtualizationStyles = virtualizationProps ? {\n width: virtualizationProps.width,\n maxWidth: virtualizationProps.width\n } : {};\n return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(\"div\", {\n className: classNames.join(' '),\n ref: function ref(el) {\n _this2.select = el;\n },\n style: virtualizationStyles\n }, showLabelAlways && /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"select__top-label\"\n }, label), /*#__PURE__*/React__default.createElement(Opener, {\n className: \"opener__container \".concat(fitContainer ? 'full_width' : '', \" \"),\n isAlwaysOpen: isAlwaysOpen,\n isOpen: isOpen,\n onToggle: function onToggle(newIsOpen) {\n toggleOpenProp(newIsOpen);\n\n _this2.setState({\n isOpen: newIsOpen\n });\n },\n portal: portal,\n btn: isMenu ? renderMenuTarget(this.toggleSelect, isOpen) : renderTriggerButton(),\n content: /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"select__list-menu\"\n }, isMenu && showValueOnOpen && renderTriggerButton(true), isOpen && renderSecondRow(), withTabs && isMulti && this.renderTabs(), this.renderButton(true), isSearchable && /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"select__list-input-wrapper\"\n }, /*#__PURE__*/React__default.createElement(Icon, {\n name: \"Search\"\n }), /*#__PURE__*/React__default.createElement(\"input\", {\n ref: function ref(el) {\n _this2.searchInput = el;\n },\n placeholder: this.props.searchPlaceholder,\n className: \"select__list-input\",\n value: changeSearchHandler ? undefined : search,\n onChange: changeSearchHandler || this.handleChangeSearch,\n onKeyUp: this.handleKeyUp\n }), isSearchClearable && (search || this.props.lazyLoad && this.props.lazySelectSearchString) ? /*#__PURE__*/React__default.createElement(\"div\", {\n onClick: this.clearSearch,\n className: \"select__search-clear\"\n }, /*#__PURE__*/React__default.createElement(Icon, {\n name: \"Close\"\n })) : null), this.renderButton(), tumbler && /*#__PURE__*/React__default.createElement(Tumbler, {\n className: \"select__tumbler\",\n onChange: this.toggleTumbler,\n on: tumblerIsActive,\n title: tumblerLabel || 'Show groups'\n }), this.state.withGroups || this.state.stateOfOptions.length || this.props.lazyLoad ? this.renderList() : noOptionValue),\n contentClassName: \"opener__content \".concat(menuClassName, \" \").concat(rightDrop ? 'opener__content_right-drop' : '')\n })));\n }\n }]);\n\n return Select;\n}(Component);\nBtnWrapper.propTypes = {\n className: PropTypes__default.string,\n tooltipParams: PropTypes__default.object,\n handleClick: PropTypes__default.func\n};\nSelect.defaultProps = {\n placeholder: '',\n renderMenuTarget: function renderMenuTarget() {},\n isReadOnly: false,\n isNaked: true,\n rightDrop: false,\n menuClassName: 'full_width',\n fitContainer: false,\n toggleOpenProp: function toggleOpenProp() {},\n showLabelAlways: false,\n variant: 'withoutTickbox',\n confirmButtonClicked: function confirmButtonClicked() {},\n onSearchChange: function onSearchChange() {},\n isMulti: false,\n isClearable: false,\n allSelectable: false,\n underline: false,\n isSearchClearable: false,\n searchPlaceholder: 'Search'\n};\nSelect.propTypes = {\n options: PropTypes__default.array,\n noOptionValue: PropTypes__default.node,\n value: PropTypes__default.any,\n onChange: PropTypes__default.func,\n onSubmitted: PropTypes__default.func,\n isMulti: PropTypes__default.bool,\n tumblerIsActive: PropTypes__default.bool,\n multiPlaceholder: PropTypes__default.func,\n allSelectable: PropTypes__default.bool,\n isClearable: PropTypes__default.bool,\n hideCrossIfClosed: PropTypes__default.bool,\n showValueOnOpen: PropTypes__default.bool,\n tumbler: PropTypes__default.bool,\n onTumblerChange: PropTypes__default.func,\n label: PropTypes__default.string,\n reactLabel: PropTypes__default.elementType,\n labelImageSrc: PropTypes__default.string,\n placeholder: PropTypes__default.string,\n selectAllLabel: PropTypes__default.string,\n tumblerLabel: PropTypes__default.string,\n onSearchChange: PropTypes__default.func,\n isSearchable: PropTypes__default.bool,\n searchByValue: PropTypes__default.bool,\n wildcardSearch: PropTypes__default.bool,\n className: PropTypes__default.string,\n levelPadding: PropTypes__default.number,\n totalRecords: PropTypes__default.number,\n changeSearchHandler: PropTypes__default.func,\n allSelectedText: PropTypes__default.string,\n scrollableClassName: PropTypes__default.string,\n tooltipParams: PropTypes__default.object,\n isOpen: PropTypes__default.bool,\n toggleOpenProp: PropTypes__default.func,\n ignoredCloseClickElement: PropTypes__default.object,\n buttonProps: PropTypes__default.exact({\n label: PropTypes__default.string,\n className: PropTypes__default.string,\n onClick: PropTypes__default.func,\n shouldCloseOnClick: PropTypes__default.bool,\n symbolBeforeLabel: PropTypes__default.string,\n shouldRenderBeforeSearch: PropTypes__default.bool\n }),\n onSelectAll: PropTypes__default.func,\n withTabs: PropTypes__default.bool,\n maxSelectedLimit: PropTypes__default.number,\n onExceededMaxLimit: PropTypes__default.func,\n withConfirmation: PropTypes__default.bool,\n isAlwaysOpen: PropTypes__default.bool,\n btnOnClick: PropTypes__default.func,\n isMenu: PropTypes__default.bool,\n renderMenuTarget: PropTypes__default.func,\n isReadOnly: PropTypes__default.bool,\n isNaked: PropTypes__default.bool,\n rightDrop: PropTypes__default.bool,\n menuClassName: PropTypes__default.string,\n fitContainer: PropTypes__default.bool,\n lazyLoad: PropTypes__default.bool,\n infiniteScrollProps: PropTypes__default.exact({\n loadMore: PropTypes__default.func,\n hasMore: PropTypes__default.bool,\n pageStart: PropTypes__default.number\n }),\n showLabelAlways: PropTypes__default.bool,\n confirmButtonClicked: PropTypes__default.func,\n variant: PropTypes__default.oneOf(['withTickbox', 'withoutTickbox']),\n underline: PropTypes__default.bool,\n isSearchClearable: PropTypes__default.bool,\n emptyDropdownLabel: PropTypes__default.elementType,\n portal: PropTypes__default.bool,\n customSelectRenderValue: PropTypes__default.func,\n virtualizationProps: PropTypes__default.shape({\n height: PropTypes__default.number.isRequired,\n width: PropTypes__default.number.isRequired,\n itemSize: PropTypes__default.oneOfType([PropTypes__default.number, PropTypes__default.func]),\n overscanCount: PropTypes__default.number\n }),\n searchPlaceholder: PropTypes__default.string,\n lazySelectSearchString: PropTypes__default.string\n};\n\nfunction ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$6(Object(source), true).forEach(function (key) { defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper$i(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$i(); return function _createSuperInternal() { var Super = getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$i() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nvar TextFieldComponent = /*#__PURE__*/function (_Component) {\n inherits(TextFieldComponent, _Component);\n\n var _super = _createSuper$i(TextFieldComponent);\n\n function TextFieldComponent(props) {\n var _this;\n\n classCallCheck(this, TextFieldComponent);\n\n _this = _super.call(this);\n\n _this.handleFocus = function (event) {\n if (_this.props.disabled) {\n return;\n }\n\n _this.setState({\n focused: true\n });\n\n _this.inputRef && _this.inputRef.select();\n\n if (_this.props.onFocus) {\n _this.props.onFocus(event);\n }\n };\n\n _this.handleKeyUp = function (event) {\n if (_this.props.onSubmitted && event.key === 'Enter') {\n _this.props.onSubmitted(_this.props.value);\n }\n };\n\n _this.pushClassName = function (arrays) {\n return function (className) {\n arrays.forEach(function (array) {\n return array.push(className);\n });\n };\n };\n\n _this.handleResetClick = function () {\n _this.props.onChange('');\n\n _this.setState({\n isFilled: false\n }, function () {\n if (_this.props.onResetClick) {\n _this.props.onResetClick();\n }\n });\n };\n\n _this.handleAutoFilledInput = function () {\n return _this.setState({\n isFilled: true\n });\n };\n\n _this.getText = function (value) {\n if (['amount', 'percentage'].includes(_this.props.type) && _this.props.useFixedValue) {\n return Number(value).toFixed(2);\n }\n\n if (_this.props.type === 'password') {\n return value.replace(/[\\S\\s]/g, '•');\n }\n\n return value;\n };\n\n _this.onClickConfirmButton = function () {\n var isValid = _this.state.isValid;\n var _this$props = _this.props,\n confirmButtonClicked = _this$props.confirmButtonClicked,\n value = _this$props.value;\n\n if (isValid) {\n confirmButtonClicked(value);\n\n _this.setState({\n focused: false\n });\n }\n };\n\n _this.onResetButtonClicked = function () {\n var isValid = _this.state.isValid;\n var _this$props2 = _this.props,\n resetButtonClicked = _this$props2.resetButtonClicked,\n value = _this$props2.value;\n\n if (isValid) {\n resetButtonClicked(value);\n\n _this.setState({\n focused: false\n });\n }\n };\n\n _this.state = {\n isValid: true,\n error: null,\n isFilled: !!props.value\n };\n _this.isControlled = props.value !== undefined;\n return _this;\n }\n\n createClass(TextFieldComponent, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this2 = this;\n\n if (!this.isControlled) {\n this.checkDirty(this.inputRef);\n }\n\n if (this.props.validateOnInit) {\n this.validateControl();\n }\n\n if (this.props.getValidationTrigger) {\n this.props.getValidationTrigger(function () {\n return _this2.validateControl();\n });\n }\n\n this.props.inputRef && this.props.inputRef(this.inputRef);\n }\n }, {\n key: \"handleClickOutside\",\n value: function handleClickOutside(event) {\n if (this.props.variant === 'withTickbox' && this.props.fixWithTickbox === true) {\n return;\n }\n\n this.setState({\n focused: false\n });\n\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n }\n }, {\n key: \"validateControl\",\n value: function validateControl() {\n var target = this.inputRef;\n return this.validate(target.value, target);\n }\n }, {\n key: \"checkDirty\",\n value: function checkDirty(_ref) {\n var value = _ref.value;\n\n if (value) {\n this.setState({\n isFilled: true\n });\n } else {\n this.setState({\n isFilled: false\n });\n }\n }\n }, {\n key: \"handleOnBlur\",\n value: function handleOnBlur(value, target) {\n if (!(value !== null && value !== void 0 && value.trim().length)) {\n this.inputRef.value = '';\n this.handleValueChange('', target);\n }\n }\n }, {\n key: \"handleValueChange\",\n value: function handleValueChange(value, target) {\n var _this$props3 = this.props,\n type = _this$props3.type,\n onChange = _this$props3.onChange,\n validationRules = _this$props3.validationRules,\n label = _this$props3.label,\n doNotAllowDecimals = _this$props3.doNotAllowDecimals;\n\n if (type === 'amount' || type === 'percentage') {\n var i = 0;\n value = value.replace(/[^0-9.]+/g, '').replace(/\\./g, function (match) {\n i += 1;\n return i === 2 ? '' : match;\n });\n }\n\n if (type === 'percentage' && doNotAllowDecimals) {\n var isValid = value ? /^\\d{1,2}$/.test(value) : /^$/.test(value);\n\n if (!isValid) {\n value = null;\n } else {\n value = +value;\n }\n }\n\n if (onChange) {\n var errors;\n\n if (validationRules && validationRules.length) {\n errors = validationRules.reduce(function (errors, rule) {\n if (!rule.func(value, target, rule)) {\n if (!errors) {\n errors = [];\n }\n\n errors.push({\n name: target.name,\n message: rule.error(label, rule)\n });\n }\n\n return errors;\n }, null);\n }\n\n onChange(value, errors);\n }\n\n if (!this.isControlled) {\n this.checkDirty({\n value: value\n });\n }\n\n this.validate(value, target);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(oldProps) {\n if (this.props.value !== oldProps.value || !isEqual$2(this.props.validationKeys, oldProps.validationKeys)) {\n if (this.isControlled) {\n this.checkDirty({\n value: this.props.value\n });\n }\n\n this.validate(this.props.value, this.inputRef);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(value, target) {\n var _this$props$validatio = this.props.validationRules,\n validationRules = _this$props$validatio === void 0 ? [] : _this$props$validatio;\n var rules = validationRules.slice();\n var rule = rules.pop();\n\n while (rule) {\n var isValid = rule.func(value, target, rule);\n\n if (!isValid) {\n this.setValidationState(false, rule, target.name);\n return false;\n }\n\n rule = rules.pop();\n }\n\n this.setValidationState(true);\n return true;\n }\n }, {\n key: \"setValidationState\",\n value: function setValidationState(isValid, rule, name) {\n var _this$props4 = this.props,\n onValidate = _this$props4.onValidate,\n label = _this$props4.label;\n\n if (isValid) {\n this.setState({\n isValid: true,\n error: null\n });\n onValidate(true);\n } else {\n this.setState({\n isValid: false,\n error: rule.error(label, rule)\n });\n onValidate(false);\n }\n }\n }, {\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps, nextState) {\n return !(isEqual$2(['label', 'type', 'name', 'value', 'helpText', 'placeholder', 'disabled', 'validationKeys', 'isTextarea', 'iconName', 'hasTextareaCopy'], this.props, nextProps) && isEqual$2(['focused', 'isValid', 'error', 'isFilled'], this.state, nextState));\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this3 = this;\n\n var _this$props5 = this.props,\n className = _this$props5.className,\n label = _this$props5.label,\n type = _this$props5.type,\n name = _this$props5.name,\n value = _this$props5.value,\n helpText = _this$props5.helpText,\n placeholder = _this$props5.placeholder,\n disabled = _this$props5.disabled,\n isTextarea = _this$props5.isTextarea,\n iconName = _this$props5.iconName,\n hasTextareaCopy = _this$props5.hasTextareaCopy,\n inputAttributes = _this$props5.inputAttributes,\n variant = _this$props5.variant,\n underline = _this$props5.underline,\n helpActions = _this$props5.helpActions,\n hasAlwaysResetButton = _this$props5.hasAlwaysResetButton,\n _this$props5$disableL = _this$props5.disableLogging,\n disableLogging = _this$props5$disableL === void 0 ? false : _this$props5$disableL,\n showResetBtn = _this$props5.showResetBtn,\n _this$props5$tooltip = _this$props5.tooltip,\n tooltip = _this$props5$tooltip === void 0 ? false : _this$props5$tooltip,\n _this$props5$tooltipP = _this$props5.tooltipProps,\n tooltipProps = _this$props5$tooltipP === void 0 ? {} : _this$props5$tooltipP,\n resetButtonRUMLabel = _this$props5.resetButtonRUMLabel,\n confirmButtonRUMLabel = _this$props5.confirmButtonRUMLabel;\n var _this$state = this.state,\n focused = _this$state.focused,\n isValid = _this$state.isValid,\n error = _this$state.error,\n isFilled = _this$state.isFilled;\n var hasResetBtn = iconName === 'Search';\n var textFieldClassName = ['text-field', className];\n var labelClassName = ['text-field__label'];\n var baseClassName = ['text-field__base'];\n var inputClassName = ['text-field__input'];\n var placeholderClassName = ['text-field__placeholder'];\n var pushClassName = this.pushClassName([textFieldClassName, labelClassName, baseClassName, inputClassName, placeholderClassName]);\n\n var variantClassName = function variantClassName() {\n if (variant === 'withTickbox') {\n return '_with-tickbox';\n }\n\n if (variant === 'withConfirmAndReset') {\n return '_with-confirm-reset';\n }\n\n return '_without-tickbox';\n };\n\n pushClassName(variantClassName());\n underline && pushClassName('_underline');\n\n if (focused) {\n pushClassName('_focused');\n }\n\n if (isFilled) {\n pushClassName('_filled');\n }\n\n if (iconName) {\n pushClassName('_icon');\n }\n\n if (!isValid) {\n pushClassName('_error');\n }\n\n if (disabled) {\n pushClassName('_disabled');\n }\n\n if (isTextarea) {\n pushClassName('_textarea');\n }\n\n if (tooltip) {\n pushClassName('_with-tooltip');\n }\n\n var placeholderContainer = isFilled ? this.getText(value) : placeholder;\n\n if (!focused && underline) {\n inputClassName.push('_hide');\n } // now is only to use with bordered textarea without clear 'cross'-button\n\n\n var hasCopyToClipboardButton = hasTextareaCopy && isTextarea && !hasResetBtn && value;\n var inputElement = /*#__PURE__*/React__default.createElement(!isTextarea ? 'input' : 'textarea', _objectSpread$6(_objectSpread$6(_objectSpread$6({\n ref: function ref(el) {\n _this3.inputRef = el;\n },\n className: inputClassName.join(' '),\n type: type,\n name: name,\n value: value,\n placeholder: placeholder,\n disabled: disabled,\n onFocus: this.handleFocus,\n onChange: function onChange(e) {\n return _this3.handleValueChange(e.target.value, e.target);\n },\n onKeyUp: this.handleKeyUp,\n onAnimationStart: this.handleAutoFilledInput,\n onBlur: function onBlur(e) {\n return _this3.handleOnBlur(e.target.value, e.target);\n },\n autoComplete: 'off'\n }, disabled ? {\n tabIndex: -1\n } : {}), inputAttributes), disableLogging ? {\n 'data-dd-privacy': 'hidden',\n 'data-dd-action-name': '******'\n } : {}));\n return tooltip ? /*#__PURE__*/React__default.createElement(\"div\", _extends_1({\n className: textFieldClassName.join(' '),\n \"data-automation\": kebabCase(name || placeholder || label)\n }, disableLogging ? {\n 'data-dd-privacy': 'hidden',\n 'data-dd-action-name': '******'\n } : {}), label && /*#__PURE__*/React__default.createElement(\"label\", {\n className: labelClassName.join(' ')\n }, label), /*#__PURE__*/React__default.createElement(\"div\", {\n className: baseClassName.join(' ')\n }, hasCopyToClipboardButton && /*#__PURE__*/React__default.createElement(CopyToClipboardButton, {\n className: \"text-field__copy\",\n code: value\n }), iconName && /*#__PURE__*/React__default.createElement(\"i\", {\n className: \"text-field__icon\"\n }, /*#__PURE__*/React__default.createElement(Icon, {\n name: iconName\n })), /*#__PURE__*/React__default.createElement(Tooltip, _extends_1({\n auto: true,\n label: placeholderContainer\n }, tooltipProps, {\n className: \"text-field__tooltip\"\n }), inputElement, placeholderContainer && !focused && underline ? /*#__PURE__*/React__default.createElement(\"span\", {\n onClick: this.handleFocus,\n className: placeholderClassName.join(' ')\n }, placeholderContainer) : null), focused && variant === 'withTickbox' ? /*#__PURE__*/React__default.createElement(ButtonCircle, {\n onClick: this.onClickConfirmButton,\n variant: \"primary\",\n iconName: \"CheckCircleBW\",\n className: \"text-field__confirmBtn \".concat(!isValid ? '_error' : ''),\n tabIndex: 0\n }) : null, focused && variant === 'withConfirmAndReset' ? /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"text-field__confirmResetBtnContainer\"\n }, /*#__PURE__*/React__default.createElement(ButtonCircle, {\n onClick: this.onClickConfirmButton,\n variant: \"link\",\n iconName: \"CheckCircleBW\",\n className: \"text-field__confirmResetBtn _confirm \".concat(!isValid ? '_error' : ''),\n tabIndex: 0,\n underline: false\n }), /*#__PURE__*/React__default.createElement(ButtonCircle, {\n onClick: this.onResetButtonClicked,\n variant: \"link\",\n iconName: \"CloseCircle\",\n className: \"text-field__confirmResetBtn _reset \".concat(!isValid ? '_error' : ''),\n tabIndex: 0,\n underline: false\n })) : null, helpActions ? /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"text-field__help-actions\"\n }, helpActions) : null, (hasAlwaysResetButton || hasResetBtn && value || showResetBtn && value) && /*#__PURE__*/React__default.createElement(\"button\", {\n className: \"text-field__reset\",\n onClick: this.handleResetClick\n }, /*#__PURE__*/React__default.createElement(Icon, {\n name: \"Close\"\n })), focused && type === 'percentage' && !(showResetBtn || hasAlwaysResetButton) ? /*#__PURE__*/React__default.createElement(\"span\", {\n className: \"text-field__percentage\"\n }, \"%\") : null), (error || helpText) && /*#__PURE__*/React__default.createElement(\"p\", {\n className: \"text-field__help-text\"\n }, error || helpText)) : /*#__PURE__*/React__default.createElement(\"div\", _extends_1({\n className: textFieldClassName.join(' '),\n \"data-automation\": kebabCase(name || placeholder || label)\n }, disableLogging ? {\n 'data-dd-privacy': 'hidden',\n 'data-dd-action-name': '******'\n } : {}), label && /*#__PURE__*/React__default.createElement(\"label\", {\n className: labelClassName.join(' ')\n }, label), /*#__PURE__*/React__default.createElement(\"div\", {\n className: baseClassName.join(' ')\n }, hasCopyToClipboardButton && /*#__PURE__*/React__default.createElement(CopyToClipboardButton, {\n className: \"text-field__copy\",\n code: value\n }), iconName && /*#__PURE__*/React__default.createElement(\"i\", {\n className: \"text-field__icon\"\n }, /*#__PURE__*/React__default.createElement(Icon, {\n name: iconName\n })), inputElement, focused && variant === 'withTickbox' ? /*#__PURE__*/React__default.createElement(ButtonCircle, {\n onClick: this.onClickConfirmButton,\n variant: \"primary\",\n iconName: \"CheckCircleBW\",\n className: \"text-field__confirmBtn \".concat(!isValid ? '_error' : ''),\n tabIndex: 0\n }) : null, focused && variant === 'withConfirmAndReset' ? /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"text-field__confirmResetBtnContainer\"\n }, /*#__PURE__*/React__default.createElement(ButtonCircle, _extends_1({\n onClick: this.onClickConfirmButton,\n variant: \"link\",\n iconName: \"CheckCircleBW\",\n className: \"text-field__confirmResetBtn _confirm \".concat(!isValid ? '_error' : ''),\n tabIndex: 0,\n underline: false\n }, defineProperty({}, RUM_ACTION_ATTRIBUTE, confirmButtonRUMLabel || 'Confirm'))), /*#__PURE__*/React__default.createElement(ButtonCircle, _extends_1({\n onClick: this.onResetButtonClicked,\n variant: \"link\",\n iconName: \"CloseCircle\",\n className: \"text-field__confirmResetBtn _reset \".concat(!isValid ? '_error' : ''),\n tabIndex: 0,\n underline: false\n }, defineProperty({}, RUM_ACTION_ATTRIBUTE, resetButtonRUMLabel || 'Reset')))) : null, placeholderContainer && !focused && underline ? /*#__PURE__*/React__default.createElement(\"span\", {\n onClick: this.handleFocus,\n className: placeholderClassName.join(' ')\n }, \"\".concat(placeholderContainer).concat(type === 'percentage' ? '%' : '')) : null, helpActions ? /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"text-field__help-actions\"\n }, helpActions) : null, (hasAlwaysResetButton || hasResetBtn && value || showResetBtn && value) && /*#__PURE__*/React__default.createElement(\"button\", {\n className: \"text-field__reset\",\n onClick: this.handleResetClick\n }, /*#__PURE__*/React__default.createElement(Icon, {\n name: \"Close\"\n })), focused && type === 'percentage' && !(showResetBtn || hasAlwaysResetButton) ? /*#__PURE__*/React__default.createElement(\"span\", {\n className: \"text-field__percentage\"\n }, \"%\") : null), (error || helpText) && /*#__PURE__*/React__default.createElement(\"p\", {\n className: \"text-field__help-text\"\n }, error || helpText));\n }\n }]);\n\n return TextFieldComponent;\n}(Component);\n\nTextFieldComponent.defaultProps = {\n type: 'text',\n className: '',\n inputAttributes: {},\n confirmButtonClicked: function confirmButtonClicked() {},\n onValidate: function onValidate() {},\n validateOnInit: false,\n variant: 'withTickbox',\n underline: true,\n fixWithTickbox: false,\n showResetBtn: false,\n useFixedValue: true,\n doNotAllowDecimals: false\n};\nTextFieldComponent.propTypes = {\n className: PropTypes__default.string,\n label: PropTypes__default.string,\n type: PropTypes__default.string,\n name: PropTypes__default.string,\n value: PropTypes__default.string,\n helpText: PropTypes__default.string,\n validationRules: PropTypes__default.array,\n validateOnInit: PropTypes__default.bool,\n validationKeys: PropTypes__default.array,\n placeholder: PropTypes__default.string,\n disabled: PropTypes__default.bool,\n inputRef: PropTypes__default.func,\n onSubmitted: PropTypes__default.func,\n onFocus: PropTypes__default.func,\n onBlur: PropTypes__default.func,\n onChange: PropTypes__default.func,\n onValidate: PropTypes__default.func,\n isTextarea: PropTypes__default.bool,\n iconName: PropTypes__default.string,\n hasTextareaCopy: PropTypes__default.bool,\n inputAttributes: PropTypes__default.object,\n getValidationTrigger: PropTypes__default.func,\n confirmButtonClicked: PropTypes__default.func,\n resetButtonClicked: PropTypes__default.func,\n variant: PropTypes__default.oneOf(['withTickbox', 'withoutTickbox', 'withConfirmAndReset']),\n underline: PropTypes__default.bool,\n helpActions: PropTypes__default.node,\n onResetClick: PropTypes__default.func,\n hasAlwaysResetButton: PropTypes__default.bool,\n showResetBtn: PropTypes__default.bool,\n fixWithTickbox: PropTypes__default.bool,\n disableLogging: PropTypes__default.bool,\n tooltip: PropTypes__default.bool,\n tooltipProps: PropTypes__default.object,\n useFixedValue: PropTypes__default.bool,\n doNotAllowDecimals: PropTypes__default.bool,\n resetButtonRUMLabel: PropTypes__default.string,\n confirmButtonRUMLabel: PropTypes__default.string\n};\nvar TextField = withClickOutside(TextFieldComponent);\n\nfunction _createSuper$j(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$j(); return function _createSuperInternal() { var Super = getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$j() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar TextFieldWithIcon = /*#__PURE__*/function (_Component) {\n inherits(TextFieldWithIcon, _Component);\n\n var _super = _createSuper$j(TextFieldWithIcon);\n\n function TextFieldWithIcon() {\n var _this;\n\n classCallCheck(this, TextFieldWithIcon);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.state = {\n focused: false,\n isFilled: !!_this.props.value\n };\n _this.inputRef = null;\n\n _this.handleChange = function (e) {\n var onChange = _this.props.onChange;\n onChange(e);\n\n _this.checkDirty(e.target);\n };\n\n _this.handleFocus = function () {\n if (_this.inputRef) {\n _this.inputRef.select();\n }\n\n _this.setState({\n focused: true\n });\n };\n\n _this.handleBlur = function () {\n _this.setState({\n focused: false\n });\n };\n\n _this.handleReset = function (e) {\n var onChange = _this.props.onChange;\n onChange({\n target: {\n value: ''\n }\n }, true);\n\n _this.checkDirty(e.target);\n };\n\n return _this;\n }\n\n createClass(TextFieldWithIcon, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps, nextState) {\n return !(isEqual(['name', 'placeholder', 'type', 'iconName', 'value', 'svgParams', 'reset', 'isMultipleIcons', 'multipleIconsInfo'], this.props, nextProps) && isEqual(['focused', 'isFilled'], this.state, nextState));\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.props.inputRef && this.props.inputRef(this.inputRef);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (this.props.value !== prevProps.value) {\n this.setState({\n isFilled: !!this.props.value\n });\n }\n }\n }, {\n key: \"checkDirty\",\n value: function checkDirty(_ref) {\n var value = _ref.value;\n var isFilled = this.state.isFilled;\n\n if (isFilled !== !!value) {\n this.setState({\n isFilled: !!value\n });\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props = this.props,\n name = _this$props.name,\n placeholder = _this$props.placeholder,\n type = _this$props.type,\n iconName = _this$props.iconName,\n onChange = _this$props.onChange,\n value = _this$props.value,\n svgParams = _this$props.svgParams,\n multipleIconsInfo = _this$props.multipleIconsInfo,\n _this$props$disableLo = _this$props.disableLogging,\n disableLogging = _this$props$disableLo === void 0 ? false : _this$props$disableLo,\n rest = objectWithoutProperties(_this$props, [\"name\", \"placeholder\", \"type\", \"iconName\", \"onChange\", \"value\", \"svgParams\", \"multipleIconsInfo\", \"disableLogging\"]);\n\n var _this$state = this.state,\n focused = _this$state.focused,\n isFilled = _this$state.isFilled;\n var isSearchIcon;\n var isMultipleIcons = multipleIconsInfo && !!multipleIconsInfo.length;\n\n if (isMultipleIcons) {\n isSearchIcon = multipleIconsInfo.some(function (icon) {\n return icon.iconName === 'Search';\n });\n } else {\n isSearchIcon = iconName === 'Search';\n }\n\n var containerClassName = ['text-field-icon'];\n\n if (focused) {\n containerClassName.push('_focused');\n }\n\n if (isSearchIcon) {\n containerClassName.push('_reset-icon');\n }\n\n if (iconName || isMultipleIcons) {\n containerClassName.push('_icon');\n }\n\n var labelClassName = ['text-field-icon__label'];\n\n if (focused || isFilled) {\n labelClassName.push('_up');\n }\n\n if (focused) {\n labelClassName.push('_focused');\n }\n\n var noStyleChangeIcons = ['DownloadRounded']; // icons that shouldn't change style on hover or focus of textfield\n\n return /*#__PURE__*/React__default.createElement(\"div\", _extends_1({\n className: containerClassName.join(' ')\n }, disableLogging ? {\n 'data-dd-privacy': 'hidden',\n 'data-dd-action-name': '******'\n } : {}), iconName && !isMultipleIcons && /*#__PURE__*/React__default.createElement(\"i\", {\n className: \"text-field-icon__icon\"\n }, /*#__PURE__*/React__default.createElement(Icon, _extends_1({\n name: iconName\n }, svgParams))), isMultipleIcons && /*#__PURE__*/React__default.createElement(\"ul\", null, multipleIconsInfo.map(function (icon) {\n var name = icon.iconName;\n return /*#__PURE__*/React__default.createElement(\"li\", {\n key: name\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n onClick: icon === null || icon === void 0 ? void 0 : icon.onClickFunction,\n className: icon.styles\n }, /*#__PURE__*/React__default.createElement(\"i\", {\n className: noStyleChangeIcons.includes(name) ? 'text-field-icon__noStyleChangeIcon' : 'text-field-icon__icon'\n }, icon !== null && icon !== void 0 && icon.toolTipParams ? /*#__PURE__*/React__default.createElement(Tooltip, icon.toolTipParams, /*#__PURE__*/React__default.createElement(Icon, {\n name: name\n })) : /*#__PURE__*/React__default.createElement(Icon, {\n name: name\n }))));\n })), /*#__PURE__*/React__default.createElement(\"div\", {\n className: labelClassName.join(' ')\n }, placeholder), /*#__PURE__*/React__default.createElement(\"input\", _extends_1({\n type: type,\n name: name,\n value: value,\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n className: \"text-field-icon__field\",\n ref: function ref(el) {\n _this2.inputRef = el;\n }\n }, disableLogging ? {\n 'data-dd-privacy': 'hidden',\n 'data-dd-action-name': '******'\n } : {}, rest)), isSearchIcon && value && /*#__PURE__*/React__default.createElement(\"button\", {\n className: \"text-field-icon__reset\",\n onClick: this.handleReset\n }, /*#__PURE__*/React__default.createElement(Icon, {\n name: \"Close\"\n })));\n }\n }]);\n\n return TextFieldWithIcon;\n}(Component);\nTextFieldWithIcon.defaultProps = {\n type: 'text',\n onChange: function onChange() {},\n svgParams: {}\n};\nTextFieldWithIcon.propTypes = {\n iconName: PropTypes__default.string,\n value: PropTypes__default.string.isRequired,\n name: PropTypes__default.string,\n placeholder: PropTypes__default.string,\n type: PropTypes__default.string,\n onChange: PropTypes__default.func,\n svgParams: PropTypes__default.object,\n reset: PropTypes__default.bool,\n focused: PropTypes__default.bool,\n multipleIconsInfo: PropTypes__default.arrayOf(PropTypes__default.shape({\n iconName: PropTypes__default.string.isRequired,\n onClickFunction: PropTypes__default.func,\n toolTipParams: PropTypes__default.object,\n styles: PropTypes__default.string\n })),\n disableLogging: PropTypes__default.bool\n};\n\nfunction _createSuper$k(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$k(); return function _createSuperInternal() { var Super = getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$k() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar Checkbox = /*#__PURE__*/function (_Component) {\n inherits(Checkbox, _Component);\n\n var _super = _createSuper$k(Checkbox);\n\n function Checkbox() {\n classCallCheck(this, Checkbox);\n\n return _super.apply(this, arguments);\n }\n\n createClass(Checkbox, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps) {\n return !isEqual(['label', 'checked', 'disabled', 'className'], this.props, nextProps);\n }\n }, {\n key: \"getCheckboxIconName\",\n value: function getCheckboxIconName() {\n var _this$props = this.props,\n checked = _this$props.checked,\n _this$props$className = _this$props.className,\n className = _this$props$className === void 0 ? '' : _this$props$className;\n\n if (checked) {\n return 'Checkbox';\n } else if (className.includes('_dirty')) {\n return 'SquareMinus';\n }\n\n return 'CheckboxBlank';\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n name = _this$props2.name,\n label = _this$props2.label,\n checked = _this$props2.checked,\n disabled = _this$props2.disabled,\n _onChange = _this$props2.onChange,\n _this$props2$onClick = _this$props2.onClick,\n onClick = _this$props2$onClick === void 0 ? function () {} : _this$props2$onClick,\n _this$props2$classNam = _this$props2.className,\n className = _this$props2$classNam === void 0 ? '' : _this$props2$classNam;\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"checkbox \".concat(disabled ? 'checkbox_disabled' : '', \" \").concat(checked ? 'checkbox_checked' : '', \" \").concat(className)\n }, /*#__PURE__*/React__default.createElement(\"label\", {\n className: \"checkbox__label\",\n htmlFor: name\n }, /*#__PURE__*/React__default.createElement(\"input\", {\n type: \"checkbox\",\n id: name,\n name: name,\n disabled: disabled,\n checked: checked,\n onChange: function onChange(e) {\n return _onChange(e.target.checked);\n },\n onClick: onClick,\n onKeyDown: function onKeyDown(e) {\n if (e.keyCode === 13) {\n _onChange(!e.target.checked);\n\n e.stopPropagation();\n }\n },\n className: \"checkbox__input\"\n }), /*#__PURE__*/React__default.createElement(Icon, {\n name: this.getCheckboxIconName()\n }), label && /*#__PURE__*/React__default.createElement(\"span\", {\n className: \"checkbox__title\"\n }, label)));\n }\n }]);\n\n return Checkbox;\n}(Component);\nCheckbox.defaultProps = {\n onChange: function onChange() {},\n checked: false,\n disabled: false\n};\nCheckbox.propTypes = {\n name: PropTypes__default.string,\n label: PropTypes__default.string,\n checked: PropTypes__default.bool,\n disabled: PropTypes__default.bool,\n onChange: PropTypes__default.func,\n onClick: PropTypes__default.func,\n className: PropTypes__default.string\n};\n\nvar css_248z$a = \":root {\\n --primary1: #123787;\\n --primary2: #1d58d7;\\n --primary3: #5173fb;\\n --primary4: #7a93ff;\\n --primary5: #c2d0ff;\\n --primary6: #e5ebff;\\n --primary7: #f2f5ff; }\\n\\n@keyframes Radio-module_hover-ripples__P9-6j {\\n 0% {\\n top: -0.1875em;\\n left: -0.1875em;\\n right: -0.1875em;\\n bottom: -0.1875em;\\n opacity: 1; }\\n 100% {\\n top: -0.8125em;\\n left: -0.8125em;\\n right: -0.8125em;\\n bottom: -0.8125em;\\n opacity: 0; } }\\n\\n.Radio-module_radio__3i1Gb {\\n display: flex;\\n cursor: pointer; }\\n .Radio-module_radio__3i1Gb label {\\n display: flex;\\n align-items: center;\\n cursor: pointer;\\n margin: 0.125rem 0.5rem 0 0.375rem;\\n font-family: 'Avenir Next Regular', sans-serif;\\n font-weight: normal;\\n font-size: 0.875rem;\\n line-height: 1.125rem; }\\n .Radio-module_radio__3i1Gb input {\\n display: none; }\\n .Radio-module_radio__3i1Gb.Radio-module_checked__3O7vn .svg-icon path {\\n fill: var(--primary2); }\\n .Radio-module_radio__3i1Gb.Radio-module_disabled__18Q5F {\\n cursor: not-allowed;\\n pointer-events: none; }\\n .Radio-module_radio__3i1Gb.Radio-module_disabled__18Q5F .svg-icon path {\\n fill: #787878; }\\n\";\nvar styles$9 = {\"radio\":\"Radio-module_radio__3i1Gb\",\"checked\":\"Radio-module_checked__3O7vn\",\"disabled\":\"Radio-module_disabled__18Q5F\",\"hover-ripples\":\"Radio-module_hover-ripples__P9-6j\"};\nstyleInject(css_248z$a);\n\nvar Radio = function Radio(props) {\n var className = props.className,\n name = props.name,\n checked = props.checked,\n onChange = props.onChange,\n title = props.title,\n disabled = props.disabled;\n\n var handleClick = function handleClick() {\n onChange(true);\n };\n\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"radio \".concat(styles$9.radio, \" \").concat(className, \" \").concat(checked ? styles$9.checked : '', \" \").concat(disabled ? styles$9.disabled : ''),\n onClick: handleClick\n }, /*#__PURE__*/React__default.createElement(\"input\", {\n type: \"radio\",\n name: name,\n style: {\n display: 'none'\n },\n checked: checked,\n onChange: function onChange() {}\n }), /*#__PURE__*/React__default.createElement(Icon, {\n name: checked ? 'RadioChecked' : 'RadioUnchecked'\n }), /*#__PURE__*/React__default.createElement(\"label\", null, title));\n};\nRadio.defaultProps = {\n className: '',\n disabled: false,\n title: ''\n};\nRadio.propTypes = {\n className: PropTypes__default.string,\n name: PropTypes__default.string.isRequired,\n checked: PropTypes__default.bool.isRequired,\n onChange: PropTypes__default.func.isRequired,\n title: PropTypes__default.node,\n disabled: PropTypes__default.bool\n};\n\nfunction _createSuper$l(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$l(); return function _createSuperInternal() { var Super = getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$l() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar ButtonsGroup = /*#__PURE__*/function (_Component) {\n inherits(ButtonsGroup, _Component);\n\n var _super = _createSuper$l(ButtonsGroup);\n\n function ButtonsGroup() {\n classCallCheck(this, ButtonsGroup);\n\n return _super.apply(this, arguments);\n }\n\n createClass(ButtonsGroup, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps) {\n return !isEqual(['items', 'value', 'className', 'size'], this.props, nextProps);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n items = _this$props.items,\n value = _this$props.value,\n onChange = _this$props.onChange,\n className = _this$props.className,\n size = _this$props.size;\n var isCheckboxes = Array.isArray(value);\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"btn-group \".concat(size ? \"_\".concat(size) : '', \" \").concat(className)\n }, items.map(function (item, index) {\n var active;\n\n if (isCheckboxes) {\n active = value.indexOf(item.value) !== -1 ? '_active' : '';\n } else {\n active = item.value === value ? '_active' : '';\n }\n\n return /*#__PURE__*/React__default.createElement(\"button\", {\n onClick: function onClick() {\n return onChange(item.value);\n },\n key: index,\n className: \"btn-group__item \".concat(active)\n }, item.title);\n }));\n }\n }]);\n\n return ButtonsGroup;\n}(Component);\nButtonsGroup.defaultProps = {\n onChange: function onChange() {},\n className: ''\n};\nButtonsGroup.propTypes = {\n value: PropTypes__default.oneOfType([PropTypes__default.string, PropTypes__default.array]),\n items: PropTypes__default.array.isRequired,\n onChange: PropTypes__default.func,\n className: PropTypes__default.string,\n size: PropTypes__default.string\n};\n\nvar css_248z$b = \":root {\\n --primary1: #123787;\\n --primary2: #1d58d7;\\n --primary3: #5173fb;\\n --primary4: #7a93ff;\\n --primary5: #c2d0ff;\\n --primary6: #e5ebff;\\n --primary7: #f2f5ff; }\\n\\n@keyframes loadingbar-module_hover-ripples__3MidM {\\n 0% {\\n top: -0.1875em;\\n left: -0.1875em;\\n right: -0.1875em;\\n bottom: -0.1875em;\\n opacity: 1; }\\n 100% {\\n top: -0.8125em;\\n left: -0.8125em;\\n right: -0.8125em;\\n bottom: -0.8125em;\\n opacity: 0; } }\\n\\n@keyframes loadingbar-module_line-bounce__2cmze {\\n 0% {\\n left: 0;\\n width: 0; }\\n 50% {\\n left: 6.25rem;\\n width: 11.25rem; }\\n 100% {\\n left: 19.375rem;\\n width: 0.625rem; } }\\n\\n.loadingbar-module_loader__1bCA8 {\\n background: #f4f4f4;\\n width: 20rem;\\n height: 0.5rem;\\n border-radius: 0.25rem;\\n position: relative;\\n margin-bottom: 2rem; }\\n\\n.loadingbar-module_movingLine__1eRrk {\\n background: var(--primary2);\\n border-radius: 0.25rem;\\n position: absolute;\\n left: 0;\\n z-index: 1;\\n width: 5rem;\\n height: 0.5rem;\\n animation: loadingbar-module_line-bounce__2cmze 800ms infinite ease-in; }\\n\";\nvar styles$a = {\"loader\":\"loadingbar-module_loader__1bCA8\",\"movingLine\":\"loadingbar-module_movingLine__1eRrk\",\"line-bounce\":\"loadingbar-module_line-bounce__2cmze\",\"hover-ripples\":\"loadingbar-module_hover-ripples__3MidM\"};\nstyleInject(css_248z$b);\n\nvar LoadingBar = function LoadingBar() {\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$a.loader\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$a.movingLine\n }));\n};\n\nvar css_248z$c = \":root {\\n --primary1: #123787;\\n --primary2: #1d58d7;\\n --primary3: #5173fb;\\n --primary4: #7a93ff;\\n --primary5: #c2d0ff;\\n --primary6: #e5ebff;\\n --primary7: #f2f5ff; }\\n\\n@keyframes index-module_hover-ripples__2AXyA {\\n 0% {\\n top: -0.1875em;\\n left: -0.1875em;\\n right: -0.1875em;\\n bottom: -0.1875em;\\n opacity: 1; }\\n 100% {\\n top: -0.8125em;\\n left: -0.8125em;\\n right: -0.8125em;\\n bottom: -0.8125em;\\n opacity: 0; } }\\n\\n.index-module_pill__14tae {\\n border-radius: 0.25rem;\\n padding: 0.25rem 0.5rem;\\n display: inline-flex;\\n position: relative;\\n justify-content: center;\\n align-items: center;\\n text-decoration: none;\\n white-space: nowrap;\\n font-family: 'Avenir Next Regular', sans-serif;\\n font-weight: normal;\\n letter-spacing: .2px;\\n font-size: 0.75rem;\\n line-height: 1rem;\\n margin: 0.25rem; }\\n .index-module_pill__14tae.index-module_hasImg__XDK-J {\\n border-radius: 0.75rem 0.25rem 0.25rem 0.75rem;\\n padding: 0.25rem 0.5rem 0.25rem 0;\\n height: 1.5rem; }\\n .index-module_pill__14tae.index-module_hasImg__XDK-J.index-module_hasRemove__3iTa7 {\\n padding: 0 1.875rem 0 0; }\\n .index-module_pill__14tae.index-module_hasImg__XDK-J.index-module_hasRemove__3iTa7.index-module_right__1NvLp {\\n padding: 0.25rem 1.75rem 0.25rem 0.5rem; }\\n .index-module_pill__14tae.index-module_hasImg__XDK-J.index-module_noRemove__36AHt {\\n padding: 0.25rem 0.5rem 0.25rem 0; }\\n .index-module_pill__14tae.index-module_hasImg__XDK-J.index-module_noRemove__36AHt.index-module_right__1NvLp {\\n padding: 0.25rem 0.5rem; }\\n .index-module_pill__14tae.index-module_hasImg__XDK-J.index-module_right__1NvLp {\\n border-radius: 0.25rem; }\\n .index-module_pill__14tae.index-module_hasRemove__3iTa7 {\\n padding: 0.25rem 1.875rem 0.25rem 0.5rem; }\\n .index-module_pill__14tae.index-module_basic__3REc6 {\\n background-color: #f4f4f4; }\\n .index-module_pill__14tae.index-module_success__1S4XW {\\n background-color: #28bc97; }\\n .index-module_pill__14tae.index-module_success1__2PVli {\\n background-color: #ffffff;\\n border: 1px solid #289679; }\\n .index-module_pill__14tae.index-module_success1__2PVli .svg-icon, .index-module_pill__14tae.index-module_success1__2PVli .svg-icon path {\\n fill: #289679; }\\n .index-module_pill__14tae.index-module_warning__zGxlO {\\n background-color: #ffbb43; }\\n .index-module_pill__14tae.index-module_danger__1F8yl {\\n background-color: #ff5859; }\\n .index-module_pill__14tae.index-module_danger1__2ScVQ {\\n background-color: #ffffff;\\n border: 1px solid #f1494a; }\\n .index-module_pill__14tae.index-module_danger1__2ScVQ .svg-icon, .index-module_pill__14tae.index-module_danger1__2ScVQ .svg-icon path {\\n fill: #f1494a; }\\n .index-module_pill__14tae.index-module_link__3C3fQ {\\n background-color: #f4f4f4;\\n color: var(--primary2); }\\n .index-module_pill__14tae.index-module_link__3C3fQ .index-module_pillRemoveIcon__1d6tb,\\n .index-module_pill__14tae.index-module_link__3C3fQ .index-module_iconLeft__2O9r4 {\\n fill: var(--primary2); }\\n .index-module_pill__14tae .index-module_removeIconWrapper__2EHFd {\\n position: absolute;\\n top: 0.25rem;\\n right: 0.5rem; }\\n .index-module_pill__14tae .index-module_pillRemoveIcon__1d6tb {\\n width: 1rem;\\n height: 1rem;\\n margin-left: 0.375rem;\\n fill: #000000;\\n display: flex; }\\n .index-module_pill__14tae .index-module_pillRemoveIcon__1d6tb:hover {\\n cursor: pointer; }\\n .index-module_pill__14tae .index-module_iconLeft__2O9r4 {\\n width: 1rem;\\n height: 1rem;\\n margin-right: 0.375rem;\\n fill: #000000; }\\n .index-module_pill__14tae .index-module_iconRight__15TTx {\\n width: 1rem;\\n height: 1rem;\\n margin-left: 0.375rem;\\n fill: #000000; }\\n .index-module_pill__14tae .index-module_imgContainer__omFBC {\\n border-radius: 50%;\\n width: 1.5rem;\\n height: 1.5rem;\\n background-color: transparent;\\n overflow: hidden; }\\n .index-module_pill__14tae .index-module_imgContainerLeft__L4lNV {\\n margin-right: 0.375rem; }\\n .index-module_pill__14tae .index-module_imgContainerRight__3ruS3 {\\n margin-left: 0.375rem; }\\n .index-module_pill__14tae .index-module_img__g3qhp {\\n width: 100%;\\n height: 100%;\\n object-fit: cover; }\\n\";\nvar styles$b = {\"pill\":\"index-module_pill__14tae\",\"hasImg\":\"index-module_hasImg__XDK-J\",\"hasRemove\":\"index-module_hasRemove__3iTa7\",\"right\":\"index-module_right__1NvLp\",\"noRemove\":\"index-module_noRemove__36AHt\",\"basic\":\"index-module_basic__3REc6\",\"success\":\"index-module_success__1S4XW\",\"success1\":\"index-module_success1__2PVli\",\"warning\":\"index-module_warning__zGxlO\",\"danger\":\"index-module_danger__1F8yl\",\"danger1\":\"index-module_danger1__2ScVQ\",\"link\":\"index-module_link__3C3fQ\",\"pillRemoveIcon\":\"index-module_pillRemoveIcon__1d6tb\",\"iconLeft\":\"index-module_iconLeft__2O9r4\",\"removeIconWrapper\":\"index-module_removeIconWrapper__2EHFd\",\"iconRight\":\"index-module_iconRight__15TTx\",\"imgContainer\":\"index-module_imgContainer__omFBC\",\"imgContainerLeft\":\"index-module_imgContainerLeft__L4lNV\",\"imgContainerRight\":\"index-module_imgContainerRight__3ruS3\",\"img\":\"index-module_img__g3qhp\",\"hover-ripples\":\"index-module_hover-ripples__2AXyA\"};\nstyleInject(css_248z$c);\n\nvar Pill = function Pill(props) {\n var label = props.label,\n iconName = props.iconName,\n iconPosition = props.iconPosition,\n variant = props.variant,\n className = props.className,\n removable = props.removable,\n removeClicked = props.removeClicked,\n imgSource = props.imgSource,\n imgAlt = props.imgAlt;\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"_pill \".concat(styles$b.pill, \" \").concat(iconPosition === 'right' ? styles$b.right : '', \" \").concat(!iconName && imgSource ? styles$b.hasImg : '', \" \").concat(className, \" \").concat(styles$b[variant], \" \").concat(removable ? styles$b.hasRemove : styles$b.noRemove)\n }, iconName && iconPosition === 'left' ? /*#__PURE__*/React__default.createElement(Icon, {\n name: iconName,\n className: styles$b.iconLeft\n }) : null, !iconName && imgSource && iconPosition === 'left' ? /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(styles$b.imgContainerLeft, \" \").concat(styles$b.imgContainer)\n }, /*#__PURE__*/React__default.createElement(\"img\", {\n src: imgSource,\n alt: imgAlt,\n className: styles$b.img\n })) : null, label, removable ? /*#__PURE__*/React__default.createElement(\"span\", {\n className: styles$b.removeIconWrapper,\n onClick: removeClicked\n }, /*#__PURE__*/React__default.createElement(Icon, {\n name: \"Close\",\n className: styles$b.pillRemoveIcon\n })) : null, iconName && iconPosition === 'right' ? /*#__PURE__*/React__default.createElement(Icon, {\n name: iconName,\n className: styles$b.iconRight\n }) : null, !iconName && imgSource && iconPosition === 'right' ? /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(styles$b.imgContainerRight, \" \").concat(styles$b.imgContainer)\n }, /*#__PURE__*/React__default.createElement(\"img\", {\n src: imgSource,\n alt: imgAlt,\n className: styles$b.img\n })) : null);\n};\nPill.defaultProps = {\n className: '',\n variant: 'basic',\n removable: false,\n removeClicked: function removeClicked() {},\n iconPosition: 'left'\n};\nPill.propTypes = {\n label: PropTypes__default.string.isRequired,\n className: PropTypes__default.string,\n iconName: PropTypes__default.string,\n variant: PropTypes__default.oneOf(['basic', 'link', 'success', 'success1', 'warning', 'danger', 'danger1', 'naked']),\n iconPosition: PropTypes__default.oneOf(['left', 'right']),\n removable: PropTypes__default.bool,\n removeClicked: PropTypes__default.func,\n imgSource: PropTypes__default.string,\n imgAlt: PropTypes__default.string\n};\n\nvar isFunction = function isFunction(element) {\n return typeof element === 'function';\n};\n\nvar CardHoveredContent = function CardHoveredContent(_ref) {\n var children = _ref.children;\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"card__overlay\"\n }, children);\n};\nvar CardHoveredSubtitle = function CardHoveredSubtitle(_ref2) {\n var children = _ref2.children;\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"card__subtitle_hovered\"\n }, children);\n};\nvar CardSubtitle = function CardSubtitle(_ref3) {\n var children = _ref3.children;\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"card__subtitle\"\n }, children);\n};\nvar Card = function Card(props) {\n var title = props.title,\n subtitle = props.subtitle,\n children = props.children,\n shadow = props.shadow;\n\n var _useState = useState(false),\n _useState2 = slicedToArray(_useState, 2),\n hovered = _useState2[0],\n setHovered = _useState2[1];\n\n var onMouseOver = function onMouseOver() {\n setHovered(true);\n };\n\n var onMouseOut = function onMouseOut() {\n setHovered(false);\n };\n\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"card \".concat(hovered ? 'card_hovered' : '', \" _\").concat(shadow),\n onMouseEnter: onMouseOver,\n onMouseLeave: onMouseOut\n }, /*#__PURE__*/React__default.createElement(\"header\", {\n className: \"card__header\"\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"card__title\"\n }, title), subtitle && /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"card__title card__title_subtitle\"\n }, isFunction(subtitle) ? subtitle({\n hovered: hovered\n }) : subtitle)), /*#__PURE__*/React__default.createElement(\"main\", {\n className: \"card__content\"\n }, isFunction(children) ? children({\n hovered: hovered\n }) : children));\n};\nCard.defaultProps = {\n shadow: 'none',\n subtitle: ''\n};\nCard.propTypes = {\n title: PropTypes__default.oneOfType([PropTypes__default.string, PropTypes__default.element]),\n subtitle: PropTypes__default.oneOfType([PropTypes__default.string, PropTypes__default.element, PropTypes__default.func]),\n children: PropTypes__default.oneOfType([PropTypes__default.arrayOf(PropTypes__default.element), PropTypes__default.element, PropTypes__default.func]),\n shadow: PropTypes__default.oneOf(['depth1', 'depth2', 'depth3', 'depth4', 'depth5', 'none'])\n};\n\nvar bind = createCommonjsModule(function (module) {\n/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(this && this[arg] || arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tclasses.push(classNames.apply(this, arg));\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(this && this[key] || key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif ( module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n});\n\nvar css_248z$d = \":root {\\n --primary1: #123787;\\n --primary2: #1d58d7;\\n --primary3: #5173fb;\\n --primary4: #7a93ff;\\n --primary5: #c2d0ff;\\n --primary6: #e5ebff;\\n --primary7: #f2f5ff; }\\n\\n@keyframes Chip-module_hover-ripples__2Wh7z {\\n 0% {\\n top: -0.1875em;\\n left: -0.1875em;\\n right: -0.1875em;\\n bottom: -0.1875em;\\n opacity: 1; }\\n 100% {\\n top: -0.8125em;\\n left: -0.8125em;\\n right: -0.8125em;\\n bottom: -0.8125em;\\n opacity: 0; } }\\n\\n.Chip-module_chip__1bL1e {\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n margin: 0 .5rem .5rem 0;\\n padding: 0 .5rem 0 1rem;\\n height: 1.5rem;\\n border-radius: .75rem;\\n background: var(--primary2);\\n color: #ffffff;\\n max-width: 100%; }\\n .Chip-module_chip__1bL1e.chip:focus {\\n outline: none;\\n border: 1px solid var(--primary2);\\n background: var(--primary6); }\\n .Chip-module_chip_gray__241V3 {\\n background-color: #cbcbcb;\\n color: #000000; }\\n .Chip-module_chip__1bL1e._outline {\\n padding: 0 .5rem;\\n border: 0.0625rem solid var(--primary2);\\n background: #ffffff;\\n color: var(--primary2); }\\n .Chip-module_chip__1bL1e._exclude, .Chip-module_chip__1bL1e._black, .Chip-module_chip__1bL1e._include {\\n font-family: 'Avenir Next Regular', sans-serif;\\n font-weight: normal;\\n padding: 0 .5em;\\n border: 0.0625rem solid;\\n border-color: #666666;\\n background: #ffffff;\\n font-size: 0.75rem;\\n line-height: 1.16667em;\\n text-decoration: none;\\n white-space: nowrap;\\n color: #000000; }\\n .Chip-module_chip__1bL1e._black {\\n border-color: #000000;\\n color: #000000; }\\n\\n.Chip-module_label__1yRHr {\\n flex: 1 1 auto;\\n color: inherit;\\n max-width: 100%;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap; }\\n\\n.Chip-module_remove__2iDyl {\\n flex-shrink: 0; }\\n .Chip-module_remove__2iDyl.btn-close {\\n margin-left: 0.625rem;\\n width: 1rem;\\n height: 1rem;\\n border-radius: 50%;\\n background: #ffffff; }\\n .Chip-module_remove__2iDyl.btn-close::before, .Chip-module_remove__2iDyl.btn-close::after {\\n width: 0.4375rem;\\n height: 0.0625rem;\\n background: #818181; }\\n\\n.Chip-module_chip__1bL1e._exclude .Chip-module_icon__zxoWO, .Chip-module_chip__1bL1e._black .Chip-module_icon__zxoWO, .Chip-module_chip__1bL1e._include .Chip-module_icon__zxoWO {\\n margin-right: 0.6875rem;\\n height: 1rem; }\\n .Chip-module_chip__1bL1e._exclude .Chip-module_icon__zxoWO svg, .Chip-module_chip__1bL1e._black .Chip-module_icon__zxoWO svg, .Chip-module_chip__1bL1e._include .Chip-module_icon__zxoWO svg {\\n width: auto;\\n height: 100%; }\\n\\n.Chip-module_chip__1bL1e._exclude .Chip-module_remove__2iDyl, .Chip-module_chip__1bL1e._black .Chip-module_remove__2iDyl, .Chip-module_chip__1bL1e._include .Chip-module_remove__2iDyl {\\n margin-left: .5rem;\\n width: 0.75rem;\\n height: 0.75rem;\\n border: 1px solid #666666; }\\n .Chip-module_chip__1bL1e._exclude .Chip-module_remove__2iDyl:before, .Chip-module_chip__1bL1e._exclude .Chip-module_remove__2iDyl:after, .Chip-module_chip__1bL1e._black .Chip-module_remove__2iDyl:before, .Chip-module_chip__1bL1e._black .Chip-module_remove__2iDyl:after, .Chip-module_chip__1bL1e._include .Chip-module_remove__2iDyl:before, .Chip-module_chip__1bL1e._include .Chip-module_remove__2iDyl:after {\\n background: #666666; }\\n\\n.Chip-module_chip__1bL1e._exclude .Chip-module_icon__zxoWO path,\\n.Chip-module_chip__1bL1e._exclude .Chip-module_icon__zxoWO polygon,\\n.Chip-module_chip__1bL1e._exclude .Chip-module_icon__zxoWO circle {\\n fill: #9b3434; }\\n\\n.Chip-module_chip__1bL1e._black .Chip-module_icon__zxoWO path,\\n.Chip-module_chip__1bL1e._black .Chip-module_icon__zxoWO polygon,\\n.Chip-module_chip__1bL1e._black .Chip-module_icon__zxoWO circle {\\n fill: #000000; }\\n\\n.Chip-module_chip__1bL1e._black .Chip-module_remove__2iDyl {\\n background: #000000; }\\n .Chip-module_chip__1bL1e._black .Chip-module_remove__2iDyl:before, .Chip-module_chip__1bL1e._black .Chip-module_remove__2iDyl:after {\\n background: #ffffff; }\\n\\n.Chip-module_chip__1bL1e._include .Chip-module_icon__zxoWO path,\\n.Chip-module_chip__1bL1e._include .Chip-module_icon__zxoWO polygon,\\n.Chip-module_chip__1bL1e._include .Chip-module_icon__zxoWO circle {\\n fill: #3f9b34; }\\n\\n.Chip-module_chip__1bL1e._outline .Chip-module_icon__zxoWO {\\n margin-right: .5rem;\\n width: 1rem;\\n height: auto;\\n line-height: 0; }\\n .Chip-module_chip__1bL1e._outline .Chip-module_icon__zxoWO svg {\\n width: 100%;\\n height: auto; }\\n\\n.Chip-module_chip__1bL1e._outline .Chip-module_remove__2iDyl {\\n margin-left: .5rem;\\n width: .625rem;\\n height: .625rem;\\n background-color: var(--primary2);\\n border: 0; }\\n .Chip-module_chip__1bL1e._outline .Chip-module_remove__2iDyl:before, .Chip-module_chip__1bL1e._outline .Chip-module_remove__2iDyl:after {\\n background-color: #ffffff;\\n width: 0.375rem; }\\n\";\nvar styles$c = {\"chip\":\"Chip-module_chip__1bL1e\",\"chip_gray\":\"Chip-module_chip_gray__241V3\",\"label\":\"Chip-module_label__1yRHr\",\"remove\":\"Chip-module_remove__2iDyl\",\"icon\":\"Chip-module_icon__zxoWO\",\"hover-ripples\":\"Chip-module_hover-ripples__2Wh7z\"};\nstyleInject(css_248z$d);\n\n/* eslint-disable jsx-a11y/control-has-associated-label */\nvar cx$1 = bind.bind(styles$c);\n\nvar Chip = function Chip(props) {\n var _props$className = props.className,\n className = _props$className === void 0 ? '' : _props$className,\n item = props.item,\n onRemove = props.onRemove,\n icon = props.icon,\n value = props.value,\n readonly = props.readonly,\n _props$displayTooltip = props.displayTooltip,\n displayTooltip = _props$displayTooltip === void 0 ? false : _props$displayTooltip;\n var chipStyle = cx$1('chip', className.split(' '));\n var iconEl = icon || item.icon;\n var chipElement = /*#__PURE__*/React__default.createElement(\"div\", {\n tabIndex: 0,\n className: 'chip ' + chipStyle,\n onKeyDown: function onKeyDown(e) {\n if (e.keyCode === 13 || e.keyCode === 32) {\n onRemove(item);\n e.stopPropagation();\n }\n }\n }, iconEl && /*#__PURE__*/React__default.createElement(\"i\", {\n className: styles$c.icon\n }, iconEl), /*#__PURE__*/React__default.createElement(\"span\", {\n className: styles$c.label\n }, item.label), value ? /*#__PURE__*/React__default.createElement(\"span\", {\n className: \"ml-2\"\n }, value) : null, !readonly && /*#__PURE__*/React__default.createElement(\"button\", {\n type: \"button\",\n tabIndex: -1,\n className: \"btn-close \".concat(styles$c.remove),\n onClick: function onClick() {\n return onRemove(item);\n }\n }));\n return displayTooltip ? /*#__PURE__*/React__default.createElement(Tooltip, {\n label: item.label,\n portal: true\n }, chipElement) : chipElement;\n};\n\nChip.propTypes = {\n className: PropTypes__default.string,\n item: PropTypes__default.shape({\n label: PropTypes__default.string.isRequired,\n reactLabel: PropTypes__default.element,\n icon: PropTypes__default.element,\n isHeader: PropTypes__default.bool,\n value: PropTypes__default.any.isRequired,\n uncountable: PropTypes__default.bool\n }),\n onRemove: PropTypes__default.func,\n icon: PropTypes__default.element,\n value: PropTypes__default.string,\n readonly: PropTypes__default.bool,\n displayTooltip: PropTypes__default.bool\n};\n\nfunction _createSuper$m(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$m(); return function _createSuperInternal() { var Super = getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$m() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar BODY_CLASS = 'modal__overflow';\nvar Modal = /*#__PURE__*/function (_Component) {\n inherits(Modal, _Component);\n\n var _super = _createSuper$m(Modal);\n\n function Modal() {\n var _this;\n\n classCallCheck(this, Modal);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.overlayElement = /*#__PURE__*/React__default.createRef();\n\n _this.handleClickOutside = function (e) {\n if (e.target === _this.overlayElement.current) {\n _this.onClickOutside(e);\n }\n };\n\n _this.onClickOutside = function (e) {\n _this.props.onClickOutside && _this.props.onClickOutside(e);\n };\n\n _this.handleKeyEvent = function (e) {\n if (e.key === 'Escape' || e.keyCode === 27) {\n _this.onClickOutside(e);\n }\n };\n\n return _this;\n }\n\n createClass(Modal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n document.body.classList.add(BODY_CLASS);\n document.addEventListener('keydown', this.handleKeyEvent);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n document.body.classList.remove(BODY_CLASS);\n document.removeEventListener('keydown', this.handleKeyEvent);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n open = _this$props.open,\n children = _this$props.children,\n modalProps = _this$props.modalProps;\n\n if (!open) {\n return null;\n }\n\n return /*#__PURE__*/React__default.createElement(\"div\", _extends_1({\n className: \"modalV2\"\n }, modalProps), /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"modalV2__overlay\",\n ref: this.overlayElement,\n onClick: this.handleClickOutside\n }, children));\n }\n }]);\n\n return Modal;\n}(Component);\nModal.propTypes = {\n onClickOutside: PropTypes__default.func,\n modalProps: PropTypes__default.object,\n open: PropTypes__default.bool\n};\n\nvar css_248z$e = \":root {\\n --primary1: #123787;\\n --primary2: #1d58d7;\\n --primary3: #5173fb;\\n --primary4: #7a93ff;\\n --primary5: #c2d0ff;\\n --primary6: #e5ebff;\\n --primary7: #f2f5ff; }\\n\\n@keyframes index-module_hover-ripples__2WaOD {\\n 0% {\\n top: -0.1875em;\\n left: -0.1875em;\\n right: -0.1875em;\\n bottom: -0.1875em;\\n opacity: 1; }\\n 100% {\\n top: -0.8125em;\\n left: -0.8125em;\\n right: -0.8125em;\\n bottom: -0.8125em;\\n opacity: 0; } }\\n\\n.index-module_dialog__3rJZZ {\\n min-height: 7.5rem;\\n min-width: 31rem;\\n max-width: 93.75rem;\\n max-height: 62.5rem;\\n border-radius: 0.25rem;\\n position: relative;\\n background: #ffffff;\\n box-shadow: 0px 12px 24px rgba(0, 0, 0, 0.05), 0px 0px 8px rgba(0, 0, 0, 0.04); }\\n .index-module_dialogButtons__3DlKj {\\n display: flex;\\n align-items: center;\\n align-self: flex-end;\\n padding-right: 0.5rem; }\\n .index-module_dialogButtons__3DlKj:not(:first-child) {\\n margin-left: 1rem; }\\n .index-module_dialogButtons__3DlKj > button:not(:last-child) {\\n margin-right: 1rem; }\\n .index-module_dialogHeader__1Lh6q, .index-module_dialogContent__fpYSi {\\n display: flex;\\n flex-direction: column;\\n align-items: stretch;\\n padding: 1.5rem; }\\n .index-module_dialogHeader__1Lh6q {\\n position: absolute;\\n top: 0;\\n width: 100%;\\n font-family: 'Avenir Next Demi', sans-serif;\\n font-weight: normal;\\n letter-spacing: .2px;\\n font-size: 1.25rem;\\n line-height: 1.625rem;\\n padding-left: 2rem; }\\n .index-module_dialogHeader__1Lh6q.index-module_withBorder__3paLx {\\n border-bottom: 1px solid rgba(162, 162, 162, 0.5); }\\n .index-module_dialogHeader__1Lh6q .index-module_crossButton__214dK {\\n position: absolute;\\n top: 1.5rem;\\n right: 2rem;\\n height: 1.5rem;\\n cursor: pointer; }\\n .index-module_dialogHeader__1Lh6q .index-module_crossButton__214dK :hover {\\n background-color: #f4f4f4;\\n border-radius: 0.125rem; }\\n .index-module_dialogContent__fpYSi {\\n padding-left: 2rem; }\\n .index-module_dialogHeader__1Lh6q ~ .index-module_dialogContent__fpYSi {\\n margin-top: 4.625rem; }\\n .index-module_dialogFooter__3aonU ~ .index-module_dialogContent__fpYSi {\\n margin-bottom: 4.875rem; }\\n .index-module_dialogFooter__3aonU {\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n padding: 1.5rem;\\n position: absolute;\\n bottom: 0;\\n width: 100%; }\\n .index-module_dialogFooter__3aonU.index-module_withBorder__3paLx {\\n border-top: 1px solid rgba(162, 162, 162, 0.5); }\\n .index-module_dialog__content-scrollable__1wWgr {\\n max-height: 220px;\\n min-height: 100px;\\n overflow: auto; }\\n .index-module_dialog__3rJZZ ._black {\\n color: #000000; }\\n\";\nvar styles$d = {\"dialog\":\"index-module_dialog__3rJZZ\",\"dialogButtons\":\"index-module_dialogButtons__3DlKj\",\"dialogHeader\":\"index-module_dialogHeader__1Lh6q\",\"dialogContent\":\"index-module_dialogContent__fpYSi\",\"withBorder\":\"index-module_withBorder__3paLx\",\"crossButton\":\"index-module_crossButton__214dK\",\"dialogFooter\":\"index-module_dialogFooter__3aonU\",\"dialog__content-scrollable\":\"index-module_dialog__content-scrollable__1wWgr\",\"hover-ripples\":\"index-module_hover-ripples__2WaOD\"};\nstyleInject(css_248z$e);\n\nvar Dialog = function Dialog(props) {\n var handleEnterKeyEvent = props.handleEnterKeyEvent,\n open = props.open,\n className = props.className,\n children = props.children,\n onClickOutside = props.onClickOutside,\n onCrossButtonClick = props.onCrossButtonClick,\n modalProps = props.modalProps,\n actionButtons = props.actionButtons,\n headerFooterBorders = props.headerFooterBorders,\n dialogTitle = props.dialogTitle,\n crossButton = props.crossButton,\n footerLeft = props.footerLeft,\n waitScreenContent = props.waitScreenContent;\n useEffect(function () {\n var setBodyStyle = function setBodyStyle() {\n return new Promise(function () {\n var observer = new MutationObserver(function () {\n var dialogElement = document.getElementById('dialogV2');\n\n if (dialogElement) {\n var _document, _document$documentEle, _window;\n\n var viewportHeight = Math.max(((_document = document) === null || _document === void 0 ? void 0 : (_document$documentEle = _document.documentElement) === null || _document$documentEle === void 0 ? void 0 : _document$documentEle.clientHeight) || 0, ((_window = window) === null || _window === void 0 ? void 0 : _window.innerHeight) || 0);\n var dialogHeight = document.getElementById('dialogV2').clientHeight;\n\n if (dialogHeight <= viewportHeight) {\n document.body.style.overflow = 'hidden';\n }\n } else if (document.getElementsByTagName('body')[0].style.overflow === 'hidden') {\n document.body.style.overflow = 'visible';\n }\n });\n observer.observe(document.body, {\n childList: true,\n subtree: true\n });\n });\n };\n\n setBodyStyle();\n }, []);\n var handleKeydown = useCallback(function (e) {\n if (!open || !(e.key === 'Enter')) {\n return;\n }\n\n handleEnterKeyEvent();\n }, [handleEnterKeyEvent, open]);\n useEffect(function () {\n if (handleEnterKeyEvent) {\n window.addEventListener('keydown', handleKeydown);\n }\n\n return function () {\n if (handleEnterKeyEvent) {\n window.removeEventListener('keydown', handleKeydown);\n }\n };\n }, [handleKeydown]);\n var borderClass = useMemo(function () {\n return headerFooterBorders ? styles$d.withBorder : '';\n }, [headerFooterBorders]);\n\n if (!open) {\n return null;\n }\n\n return /*#__PURE__*/React__default.createElement(Modal, {\n open: open,\n onClickOutside: onClickOutside,\n modalProps: modalProps\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"dialogV2 \".concat(styles$d.dialog, \" \").concat(className),\n id: \"dialogV2\"\n }, dialogTitle || crossButton ? /*#__PURE__*/React__default.createElement(\"header\", {\n className: \"\".concat(styles$d.dialogHeader, \" \").concat(borderClass)\n }, dialogTitle, crossButton ? /*#__PURE__*/React__default.createElement(\"span\", {\n className: styles$d.crossButton,\n onClick: onCrossButtonClick\n }, /*#__PURE__*/React__default.createElement(Icon, {\n name: \"Close\"\n })) : null) : null, actionButtons.length ? /*#__PURE__*/React__default.createElement(\"footer\", {\n className: \"\".concat(styles$d.dialogFooter, \" \").concat(borderClass)\n }, /*#__PURE__*/React__default.createElement(\"div\", null, footerLeft || null), /*#__PURE__*/React__default.createElement(DialogButtons, {\n buttons: actionButtons\n })) : null, /*#__PURE__*/React__default.createElement(\"main\", {\n className: styles$d.dialogContent\n }, waitScreenContent ? waitScreenContent : children)));\n};\nvar DialogScrollableContent = function DialogScrollableContent(_ref) {\n var children = _ref.children;\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"dialog__content-scrollable\"\n }, /*#__PURE__*/React__default.createElement(\"main\", {\n className: styles$d.dialogContent\n }, children));\n};\n\nvar DialogButtons = function DialogButtons(_ref2) {\n var buttons = _ref2.buttons;\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$d.dialogButtons\n }, buttons.map(function (btn, i) {\n return /*#__PURE__*/React__default.createElement(Button, _extends_1({}, btn, {\n title: \"\",\n key: i,\n onClick: btn.handler,\n className: btn.className || '',\n disabled: btn.disabled,\n variant: btn.variant,\n iconName: btn.iconName || '',\n iconPosition: btn.iconPosition\n }), btn.title);\n }));\n};\n\nDialog.defaultProps = {\n className: '',\n actionButtons: [],\n headerFooterBorders: false,\n dialogTitle: '',\n crossButton: false,\n footerLeft: null,\n waitScreenContent: null\n};\nDialog.propTypes = {\n open: PropTypes__default.bool.isRequired,\n handleEnterKeyEvent: PropTypes__default.func,\n onClickOutside: PropTypes__default.func,\n onCrossButtonClick: PropTypes__default.func,\n className: PropTypes__default.string,\n modalProps: PropTypes__default.object,\n actionButtons: PropTypes__default.array,\n headerFooterBorders: PropTypes__default.bool,\n dialogTitle: PropTypes__default.string,\n crossButton: PropTypes__default.bool,\n footerLeft: PropTypes__default.node,\n waitScreenContent: PropTypes__default.node | null\n};\nDialogButtons.propTypes = {\n buttons: PropTypes__default.array.isRequired\n};\n\nfunction _createSuper$n(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$n(); return function _createSuperInternal() { var Super = getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$n() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nvar DefaultLogo = function DefaultLogo() {\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"nav-bar__circle-icon\"\n }, /*#__PURE__*/React__default.createElement(\"span\", null), /*#__PURE__*/React__default.createElement(\"span\", null), /*#__PURE__*/React__default.createElement(\"span\", null), /*#__PURE__*/React__default.createElement(\"span\", null));\n};\n\nvar DefaultBack = function DefaultBack(_ref) {\n var rest = _extends_1({}, _ref);\n\n return /*#__PURE__*/React__default.createElement(ButtonCircle, _extends_1({}, rest, {\n outline: true,\n iconName: \"ArrowLeft\"\n }));\n};\n\nvar NavigationBar = /*#__PURE__*/function (_Component) {\n inherits(NavigationBar, _Component);\n\n var _super = _createSuper$n(NavigationBar);\n\n function NavigationBar(props) {\n var _this;\n\n classCallCheck(this, NavigationBar);\n\n _this = _super.call(this, props);\n _this.preventOutsideClick = false;\n\n _this.handleClickOutsideProfile = function (e) {\n if (_this.profile && !_this.profile.contains(e.target) && _this.state.open && !_this.preventOutsideClick) {\n _this.togglePopup();\n }\n\n _this.preventOutsideClick = false;\n };\n\n _this.togglePopup = function () {\n var preventOutside = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var open = _this.state.open;\n\n _this.setState({\n open: !open\n });\n\n _this.preventOutsideClick = preventOutside;\n };\n\n _this.state = {\n open: false\n };\n return _this;\n }\n\n createClass(NavigationBar, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps, nextState) {\n return !(isEqual(['backButton', 'className', 'title', 'leftActions', 'rightActions', 'leftLogo', 'profileLogo', 'profileAvatar'], this.props, nextProps) && isEqual(['open'], this.state, nextState));\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n document.addEventListener('click', this.handleClickOutsideProfile);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n document.removeEventListener('click', this.handleClickOutsideProfile);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props = this.props,\n className = _this$props.className,\n backButton = _this$props.backButton,\n backHandler = _this$props.backHandler,\n title = _this$props.title,\n leftLogo = _this$props.leftLogo,\n profileLogo = _this$props.profileLogo,\n profileAvatar = _this$props.profileAvatar,\n popupContent = _this$props.popupContent,\n children = _this$props.children,\n titleTooltip = _this$props.titleTooltip,\n isElevated = _this$props.isElevated;\n var backComponent = null;\n\n if (backButton) {\n if ( /*#__PURE__*/React__default.isValidElement(backButton)) {\n backComponent = backButton;\n } else {\n backComponent = /*#__PURE__*/React__default.createElement(DefaultBack, {\n onClick: backHandler\n });\n }\n }\n\n var open = this.state.open;\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"nav-bar \".concat(className, \" \").concat(isElevated ? 'nav-bar_elevated' : '')\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"nav-bar__container\"\n }, backComponent, /*#__PURE__*/React__default.createElement(Tooltip, {\n label: titleTooltip,\n className: \"d-flex align-items-center\",\n style: {\n userSelect: 'none'\n }\n }, leftLogo, /*#__PURE__*/React__default.createElement(\"h5\", {\n className: \"nav-bar__title\"\n }, title)), /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"nav-bar__content\"\n }, children), /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"nav-bar__right\"\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n ref: function ref(el) {\n _this2.profile = el;\n },\n className: \"nav-bar__profile \".concat(open ? '_focus' : '')\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"nav-bar__profile-container\",\n onClick: this.togglePopup\n }, profileLogo, profileAvatar), /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"nav-bar__popup \".concat(open ? '_show' : '')\n }, popupContent(open))))));\n }\n }]);\n\n return NavigationBar;\n}(Component);\nNavigationBar.defaultProps = {\n backButton: true,\n backHandler: function backHandler() {},\n className: '',\n leftLogo: /*#__PURE__*/React__default.createElement(DefaultLogo, null),\n profileLogo: /*#__PURE__*/React__default.createElement(Logo, {\n animate: false,\n className: \"nav-bar__profile-logo\"\n }),\n profileAvatar: /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"nav-bar__profile-avatar\"\n }),\n popupContent: function popupContent() {\n return null;\n },\n titleTooltip: '',\n isElevated: false\n};\nNavigationBar.propTypes = {\n className: PropTypes__default.string,\n backButton: PropTypes__default.oneOfType([PropTypes__default.bool, PropTypes__default.element]),\n backHandler: PropTypes__default.func,\n title: PropTypes__default.oneOfType([PropTypes__default.string, PropTypes__default.element]),\n leftLogo: PropTypes__default.element,\n profileLogo: PropTypes__default.element,\n profileAvatar: PropTypes__default.element,\n popupContent: PropTypes__default.element,\n titleTooltip: PropTypes__default.string,\n isElevated: PropTypes__default.bool\n};\n\nfunction _createSuper$o(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$o(); return function _createSuperInternal() { var Super = getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$o() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar Pagination = /*#__PURE__*/function (_PureComponent) {\n inherits(Pagination, _PureComponent);\n\n var _super = _createSuper$o(Pagination);\n\n function Pagination() {\n var _this;\n\n classCallCheck(this, Pagination);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _this.handleOnChange = function (e, pageNumber) {\n e.preventDefault();\n var onChange = _this.props.onChange;\n onChange && onChange(pageNumber);\n };\n\n _this.handlePrev = function (e) {\n e.preventDefault();\n _this.hasPrev && _this.handleOnChange(e, 1);\n };\n\n _this.handleNext = function (e) {\n e.preventDefault();\n _this.hasNext && _this.handleOnChange(e, _this.pagesLength);\n };\n\n return _this;\n }\n\n createClass(Pagination, [{\n key: \"pagesLength\",\n get: function get() {\n var _this$props = this.props,\n itemsCountPerPage = _this$props.itemsCountPerPage,\n totalItemsCount = _this$props.totalItemsCount;\n return Math.ceil(totalItemsCount / itemsCountPerPage);\n }\n }, {\n key: \"hasPrev\",\n get: function get() {\n var activePage = this.props.activePage;\n return activePage > 1;\n }\n }, {\n key: \"hasNext\",\n get: function get() {\n var activePage = this.props.activePage;\n return activePage < this.pagesLength;\n }\n }, {\n key: \"getRange\",\n value: function getRange() {\n var _this$props2 = this.props,\n pageRangeDisplayed = _this$props2.pageRangeDisplayed,\n activePage = _this$props2.activePage;\n var pagesLength = this.pagesLength;\n var middlePages = Math.floor(pageRangeDisplayed / 2);\n var startShift = 0;\n var endShift = 0;\n var start;\n var end;\n\n if (pagesLength <= pageRangeDisplayed) {\n start = 1;\n end = pagesLength;\n } else {\n start = Math.max(activePage - middlePages, 1);\n\n if (activePage - middlePages < 1) {\n endShift += Math.abs(activePage - middlePages) + 1;\n }\n\n end = Math.min(activePage + middlePages, pagesLength);\n\n if (activePage + middlePages > pagesLength) {\n startShift -= Math.abs(activePage + middlePages - pagesLength);\n }\n }\n\n var pages = [];\n\n for (var ii = start + startShift; ii <= end + endShift; ii++) {\n pages.push(ii);\n }\n\n return pages;\n }\n }, {\n key: \"renderPages\",\n value: function renderPages() {\n var _this2 = this;\n\n var activePage = this.props.activePage;\n var pages = this.getRange();\n return pages.map(function (number) {\n var active = number === activePage;\n return /*#__PURE__*/React__default.createElement(\"li\", {\n key: number,\n className: \"pagination__item \".concat(active ? 'pagination__item_active' : '')\n }, active ? /*#__PURE__*/React__default.createElement(\"span\", {\n className: \"pagination__link\"\n }, number) : /*#__PURE__*/React__default.createElement(\"a\", {\n href: \"/\",\n onClick: function onClick(e) {\n return _this2.handleOnChange(e, number);\n },\n className: \"pagination__link\"\n }, number));\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"pagination\"\n }, /*#__PURE__*/React__default.createElement(\"ul\", {\n className: \"pagination__list\"\n }, /*#__PURE__*/React__default.createElement(\"li\", {\n className: \"pagination__item \".concat(!this.hasPrev ? 'pagination__item_disabled' : '')\n }, /*#__PURE__*/React__default.createElement(\"a\", {\n className: \"pagination__link pagination__link_control\",\n href: \"/\",\n onClick: this.handlePrev\n }, /*#__PURE__*/React__default.createElement(Icon, {\n name: \"Left\"\n }))), this.renderPages(), /*#__PURE__*/React__default.createElement(\"li\", {\n className: \"pagination__item \".concat(!this.hasNext ? 'pagination__item_disabled' : '')\n }, /*#__PURE__*/React__default.createElement(\"a\", {\n className: \"pagination__link pagination__link_control\",\n href: \"/\",\n onClick: this.handleNext\n }, /*#__PURE__*/React__default.createElement(Icon, {\n name: \"Right\"\n })))));\n }\n }]);\n\n return Pagination;\n}(PureComponent);\nPagination.defaultProps = {\n itemsCountPerPage: 10,\n activePage: 1,\n pageRangeDisplayed: 5\n};\nPagination.propTypes = {\n activePage: PropTypes__default.number.isRequired,\n totalItemsCount: PropTypes__default.number.isRequired,\n itemsCountPerPage: PropTypes__default.number.isRequired,\n onChange: PropTypes__default.func.isRequired,\n pageRangeDisplayed: PropTypes__default.number\n};\n\nfunction _createSuper$p(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$p(); return function _createSuperInternal() { var Super = getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$p() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nvar ContextMenuComponent = /*#__PURE__*/function (_PureComponent) {\n inherits(ContextMenuComponent, _PureComponent);\n\n var _super = _createSuper$p(ContextMenuComponent);\n\n function ContextMenuComponent(props) {\n var _this;\n\n classCallCheck(this, ContextMenuComponent);\n\n _this = _super.call(this, props);\n\n _this.calcPosition = function () {\n var _this$props = _this.props,\n clientX = _this$props.clientX,\n clientY = _this$props.clientY;\n\n var menuCoord = _this.menu.getBoundingClientRect();\n\n var clientWidth = window.innerWidth;\n var clientHeight = window.innerHeight;\n var diffX = clientWidth - (menuCoord.width + clientX);\n var diffY = clientHeight - (menuCoord.height + clientY);\n\n _this.setState({\n position: {\n left: \"\".concat(diffX < 0 ? clientX + diffX : clientX, \"px\"),\n top: \"\".concat(diffY < 0 ? clientY + diffY : clientY, \"px\")\n }\n });\n };\n\n _this.state = {\n position: {\n left: 0,\n top: 0\n }\n };\n return _this;\n }\n\n createClass(ContextMenuComponent, [{\n key: \"handleClickOutside\",\n value: function handleClickOutside() {\n this.props.onClose();\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.calcPosition();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (prevProps.clientX !== this.props.clientX || prevProps.clientY !== this.props.clientY) {\n this.calcPosition();\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props2 = this.props,\n _this$props2$classNam = _this$props2.className,\n className = _this$props2$classNam === void 0 ? '' : _this$props2$classNam,\n children = _this$props2.children;\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"context-menu \".concat(className),\n ref: function ref(el) {\n return _this2.menu = el;\n },\n style: this.state.position\n }, children);\n }\n }]);\n\n return ContextMenuComponent;\n}(PureComponent);\n\nvar ContextMenu = withClickOutside(ContextMenuComponent);\nContextMenuComponent.propTypes = {\n clientX: PropTypes__default.number.isRequired,\n clientY: PropTypes__default.number.isRequired,\n onClose: PropTypes__default.func.isRequired,\n className: PropTypes__default.string\n};\nContextMenu.propTypes = {\n clientX: PropTypes__default.number.isRequired,\n clientY: PropTypes__default.number.isRequired,\n onClose: PropTypes__default.func.isRequired,\n className: PropTypes__default.string\n};\n\nvar ContextMenuList = function ContextMenuList(_ref) {\n var _ref$className = _ref.className,\n className = _ref$className === void 0 ? '' : _ref$className,\n children = _ref.children,\n rest = objectWithoutProperties(_ref, [\"className\", \"children\"]);\n\n return /*#__PURE__*/React__default.createElement(\"ul\", _extends_1({\n className: \"context-menu__list \".concat(className)\n }, rest), children);\n};\nContextMenuList.propTypes = {\n className: PropTypes__default.string\n};\n\nvar ContextMenuListDivider = function ContextMenuListDivider(_ref) {\n var children = _ref.children,\n _ref$className = _ref.className,\n className = _ref$className === void 0 ? '' : _ref$className,\n rest = objectWithoutProperties(_ref, [\"children\", \"className\"]);\n\n return /*#__PURE__*/React__default.createElement(\"li\", _extends_1({\n className: \"context-menu__list-divider \".concat(className)\n }, rest), children);\n};\n\nvar ContextMenuListItem = function ContextMenuListItem(_ref) {\n var _ref$className = _ref.className,\n className = _ref$className === void 0 ? '' : _ref$className,\n children = _ref.children,\n _ref$title = _ref.title,\n title = _ref$title === void 0 ? false : _ref$title,\n rest = objectWithoutProperties(_ref, [\"className\", \"children\", \"title\"]);\n\n var content;\n\n if (title) {\n content = /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"context-menu__title\"\n }, children);\n } else {\n content = children;\n }\n\n return /*#__PURE__*/React__default.createElement(\"li\", _extends_1({\n className: \"context-menu__list-item \".concat(title ? '_title' : '', \" \").concat(className)\n }, rest), content);\n};\nContextMenuListItem.propTypes = {\n title: PropTypes__default.bool,\n className: PropTypes__default.string\n};\n\nfunction _createSuper$q(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$q(); return function _createSuperInternal() { var Super = getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$q() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nvar TableContextMenuComponent = /*#__PURE__*/function (_PureComponent) {\n inherits(TableContextMenuComponent, _PureComponent);\n\n var _super = _createSuper$q(TableContextMenuComponent);\n\n function TableContextMenuComponent() {\n var _this;\n\n classCallCheck(this, TableContextMenuComponent);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _this.handleFreezeRows = function (number) {\n var row = _this.props.row;\n\n _this.props.onFreezeRow(row, number);\n };\n\n _this.handleFreezeColumns = function (number) {\n var column = _this.props.column;\n\n _this.props.onFreezeColumn(column, number);\n };\n\n _this.copySelected = function () {\n var _this$props = _this.props,\n copy = _this$props.copy,\n onClose = _this$props.onClose;\n var input = document.createElement('textarea');\n input.value = copy;\n document.body.appendChild(input);\n input.select();\n document.execCommand('copy');\n document.body.removeChild(input);\n onClose();\n };\n\n return _this;\n }\n\n createClass(TableContextMenuComponent, [{\n key: \"handleClickOutside\",\n value: function handleClickOutside() {\n this.props.onClose();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props2 = this.props,\n rowNumber = _this$props2.rowNumber,\n colNumber = _this$props2.colNumber,\n _this$props2$unsorted = _this$props2.unsortedDataLength,\n unsortedDataLength = _this$props2$unsorted === void 0 ? 0 : _this$props2$unsorted,\n _this$props2$hasTable = _this$props2.hasTableCheckboxColumn,\n hasTableCheckboxColumn = _this$props2$hasTable === void 0 ? false : _this$props2$hasTable,\n copy = _this$props2.copy;\n var rowNumberDisplay = rowNumber + 1; // starts from 0\n\n var colNumberDisplay = colNumber + 1; // starts from 0\n // correction of freeze columns real number\n\n var freezeColumnsCorrection = hasTableCheckboxColumn ? 1 : 0;\n return /*#__PURE__*/React__default.createElement(ContextMenu, {\n clientX: this.props.clientX,\n clientY: this.props.clientY,\n onClose: this.props.onClose\n }, /*#__PURE__*/React__default.createElement(ContextMenuList, null, /*#__PURE__*/React__default.createElement(ContextMenuListItem, {\n title: true\n }, \"Freeze\"), /*#__PURE__*/React__default.createElement(ContextMenuListItem, {\n className: \"_with-btn\"\n }, /*#__PURE__*/React__default.createElement(\"button\", {\n className: \"context-menu__button\",\n onClick: function onClick() {\n return _this2.handleFreezeRows(0);\n }\n }, \"No rows\")), /*#__PURE__*/React__default.createElement(ContextMenuListItem, {\n className: \"_with-btn\"\n }, /*#__PURE__*/React__default.createElement(\"button\", {\n className: \"context-menu__button\",\n onClick: function onClick() {\n return _this2.handleFreezeRows(1 + unsortedDataLength);\n }\n }, \"1 Row\")), /*#__PURE__*/React__default.createElement(ContextMenuListItem, {\n className: \"_with-btn\"\n }, /*#__PURE__*/React__default.createElement(\"button\", {\n className: \"context-menu__button\",\n onClick: function onClick() {\n return _this2.handleFreezeRows(2 + unsortedDataLength);\n }\n }, \"2 Rows\")), /*#__PURE__*/React__default.createElement(ContextMenuListItem, {\n className: \"_with-btn\"\n }, /*#__PURE__*/React__default.createElement(\"button\", {\n className: \"context-menu__button\",\n onClick: function onClick() {\n return _this2.handleFreezeRows(rowNumberDisplay <= unsortedDataLength ? unsortedDataLength + 1 : rowNumberDisplay);\n }\n }, \"Up to Current Row (\", rowNumberDisplay - unsortedDataLength > 0 ? rowNumberDisplay - unsortedDataLength : 1, \")\")), /*#__PURE__*/React__default.createElement(ContextMenuListDivider, null), /*#__PURE__*/React__default.createElement(ContextMenuListItem, {\n className: \"_with-btn\"\n }, /*#__PURE__*/React__default.createElement(\"button\", {\n className: \"context-menu__button\",\n onClick: function onClick() {\n return _this2.handleFreezeColumns(0);\n }\n }, \"No Columns\")), /*#__PURE__*/React__default.createElement(ContextMenuListItem, {\n className: \"_with-btn\"\n }, /*#__PURE__*/React__default.createElement(\"button\", {\n className: \"context-menu__button\",\n onClick: function onClick() {\n return _this2.handleFreezeColumns(1 + freezeColumnsCorrection);\n }\n }, \"1 Column\")), /*#__PURE__*/React__default.createElement(ContextMenuListItem, {\n className: \"_with-btn\"\n }, /*#__PURE__*/React__default.createElement(\"button\", {\n className: \"context-menu__button\",\n onClick: function onClick() {\n return _this2.handleFreezeColumns(2 + freezeColumnsCorrection);\n }\n }, \"2 Columns\")), colNumberDisplay - freezeColumnsCorrection > 0 && /*#__PURE__*/React__default.createElement(ContextMenuListItem, {\n className: \"_with-btn\"\n }, /*#__PURE__*/React__default.createElement(\"button\", {\n className: \"context-menu__button\",\n onClick: function onClick() {\n return _this2.handleFreezeColumns(colNumberDisplay);\n }\n }, \"Up to Current Column (\", colNumberDisplay - freezeColumnsCorrection, \")\")), copy && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(ContextMenuListDivider, null), /*#__PURE__*/React__default.createElement(ContextMenuListItem, {\n className: \"_with-btn\"\n }, /*#__PURE__*/React__default.createElement(\"button\", {\n className: \"context-menu__button\",\n onClick: this.copySelected\n }, \"Copy\")))));\n }\n }]);\n\n return TableContextMenuComponent;\n}(PureComponent);\n\nvar TableContextMenu = withClickOutside(TableContextMenuComponent);\nTableContextMenuComponent.propTypes = {\n row: PropTypes__default.object,\n rowNumber: PropTypes__default.number,\n colNumber: PropTypes__default.number,\n clientX: PropTypes__default.number,\n clientY: PropTypes__default.number,\n onClose: PropTypes__default.func,\n onFreezeRow: PropTypes__default.func,\n onFreezeColumn: PropTypes__default.func,\n unsortedDataLength: PropTypes__default.number,\n hasTableCheckboxColumn: PropTypes__default.bool\n};\n\nvar tablePropTypes = {\n paging: PropTypes__default.shape({\n activePage: PropTypes__default.number.isRequired,\n totalItemsCount: PropTypes__default.number.isRequired,\n itemsCountPerPage: PropTypes__default.oneOf([10, 25, 50, 100]).isRequired,\n pageRangeDisplayed: PropTypes__default.number\n }),\n body: PropTypes__default.arrayOf(PropTypes__default.shape({\n key: PropTypes__default.oneOfType([PropTypes__default.string, PropTypes__default.func, PropTypes__default.number]),\n hover: PropTypes__default.func,\n className: PropTypes__default.oneOfType([PropTypes__default.string, PropTypes__default.func]),\n classNameHover: PropTypes__default.string\n })),\n header: PropTypes__default.arrayOf(PropTypes__default.shape({\n label: PropTypes__default.oneOfType([PropTypes__default.string, PropTypes__default.elementType]),\n className: PropTypes__default.string,\n sortingKey: PropTypes__default.string,\n compareFunc: PropTypes__default.func,\n draggableGroup: PropTypes__default.oneOfType([PropTypes__default.string, PropTypes__default.number])\n })),\n freeze: PropTypes__default.shape({\n rows: PropTypes__default.number,\n columns: PropTypes__default.number\n }),\n sorting: PropTypes__default.shape({\n field: PropTypes__default.string,\n direction: PropTypes__default.oneOf(['asc', 'desc']),\n compareFunc: PropTypes__default.func\n })\n};\n\nfunction _createSuper$r(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$r(); return function _createSuperInternal() { var Super = getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$r() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar TablePaging = /*#__PURE__*/function (_Component) {\n inherits(TablePaging, _Component);\n\n var _super = _createSuper$r(TablePaging);\n\n function TablePaging() {\n var _this;\n\n classCallCheck(this, TablePaging);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.perPageValues = [10, 25, 50, 100].map(function (v) {\n return {\n label: v,\n value: v\n };\n });\n _this.perPageMap = {\n 10: _this.perPageValues[0],\n 25: _this.perPageValues[1],\n 50: _this.perPageValues[2],\n 100: _this.perPageValues[3]\n };\n\n _this.handlePaginationChange = function (page) {\n _this.props.onPaginationChanged(page);\n };\n\n _this.handlePerPageChange = function (data) {\n _this.props.onPerPageChanged(data);\n };\n\n return _this;\n }\n\n createClass(TablePaging, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps) {\n return !(nextProps.paging === this.props.paging);\n }\n }, {\n key: \"render\",\n value: function render() {\n var paging = this.props.paging;\n var itemsCountPerPage = paging.itemsCountPerPage,\n totalItemsCount = paging.totalItemsCount;\n var showPagination = itemsCountPerPage < totalItemsCount;\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"table__paging\"\n }, showPagination && /*#__PURE__*/React__default.createElement(Pagination, _extends_1({}, paging, {\n onChange: this.handlePaginationChange\n })), /*#__PURE__*/React__default.createElement(Select, {\n options: this.perPageValues,\n value: this.perPageMap[paging.itemsCountPerPage],\n onChange: this.handlePerPageChange\n }));\n }\n }]);\n\n return TablePaging;\n}(Component);\nTablePaging.propTypes = {\n paging: tablePropTypes.paging,\n onPaginationChanged: PropTypes__default.func.isRequired,\n onPerPageChanged: PropTypes__default.func.isRequired\n};\n\nfunction _createSuper$s(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$s(); return function _createSuperInternal() { var Super = getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$s() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar TableHeader = /*#__PURE__*/function (_Component) {\n inherits(TableHeader, _Component);\n\n var _super = _createSuper$s(TableHeader);\n\n function TableHeader() {\n classCallCheck(this, TableHeader);\n\n return _super.apply(this, arguments);\n }\n\n createClass(TableHeader, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps) {\n return !(nextProps.title === this.props.title && nextProps.fixedHeader === this.props.fixedHeader && nextProps.paging === this.props.paging);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n title = _this$props.title,\n _this$props$fixedHead = _this$props.fixedHeader,\n fixedHeader = _this$props$fixedHead === void 0 ? '' : _this$props$fixedHead,\n innerRef = _this$props.innerRef,\n _this$props$style = _this$props.style,\n style = _this$props$style === void 0 ? {} : _this$props$style,\n paging = _this$props.paging,\n onPaginationChanged = _this$props.onPaginationChanged,\n onPerPageChanged = _this$props.onPerPageChanged;\n var classNames = ['table__header', fixedHeader ? 'table__header_fixed' : ''];\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: classNames.join(' ').trim(),\n ref: innerRef,\n style: style\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"table__top\"\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"table__title title-card\"\n }, title), paging && /*#__PURE__*/React__default.createElement(TablePaging, {\n paging: paging,\n onPaginationChanged: onPaginationChanged,\n onPerPageChanged: onPerPageChanged\n })));\n }\n }]);\n\n return TableHeader;\n}(Component);\nTableHeader.propTypes = {\n title: PropTypes__default.string,\n fixedHeader: PropTypes__default.bool,\n innerRef: PropTypes__default.oneOfType([PropTypes__default.func, PropTypes__default.shape({\n current: PropTypes__default.instanceOf(window.Element)\n })]),\n style: PropTypes__default.object,\n paging: tablePropTypes.paging,\n onPaginationChanged: PropTypes__default.func.isRequired,\n onPerPageChanged: PropTypes__default.func.isRequired\n};\n\nfunction ownKeys$7(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$7(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$7(Object(source), true).forEach(function (key) { defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$7(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper$t(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$t(); return function _createSuperInternal() { var Super = getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$t() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nvar TdInner = function TdInner(_ref) {\n var children = _ref.children,\n tooltip = _ref.tooltip,\n isUnsorted = _ref.isUnsorted,\n tbodyRowHeight = _ref.tbodyRowHeight;\n var tdContentProps = {\n style: {\n height: \"\".concat(tbodyRowHeight, \"px\")\n },\n className: 'td-content'\n };\n return tooltip && !isUnsorted ? /*#__PURE__*/React__default.createElement(Tooltip, _extends_1({}, tdContentProps, {\n label: tooltip\n }), children) : /*#__PURE__*/React__default.createElement(\"div\", tdContentProps, children);\n};\n\nvar TableCell = /*#__PURE__*/function (_Component) {\n inherits(TableCell, _Component);\n\n var _super = _createSuper$t(TableCell);\n\n function TableCell() {\n var _this;\n\n classCallCheck(this, TableCell);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.state = {\n isTdClicked: false,\n hasTitle: undefined\n };\n\n _this.handleTdClick = function () {\n if (_this.props.field.click && !_this.state.isTdClicked) {\n _this.setState({\n isTdClicked: true\n }, function () {\n window.addEventListener('click', _this.handleWindowClick);\n window.addEventListener('keydown', _this.handleKeyDown);\n _this.innerClickElement && _this.innerClickElement.focus();\n });\n }\n };\n\n _this.handleWindowClick = function (_ref2) {\n var target = _ref2.target;\n\n if (!(target === _this.td || _this.td.contains(target))) {\n _this.deactivateCell();\n }\n };\n\n _this.deactivateCell = function () {\n window.removeEventListener('click', _this.handleWindowClick);\n window.removeEventListener('keydown', _this.handleKeyDown);\n\n _this.setState({\n isTdClicked: false\n });\n };\n\n _this.handleKeyDown = function (e) {\n if (e.key === 'Escape' || e.key === 'Enter') {\n _this.deactivateCell();\n }\n };\n\n _this.handleMouseEnter = function () {\n _this.setTitle();\n };\n\n _this.setTitle = function () {\n if (_this.tdElement && _this.tdElement.offsetWidth < _this.tdElement.scrollWidth) {\n !_this.state.hasTitle && _this.setState({\n hasTitle: true\n });\n } else {\n _this.state.hasTitle && _this.setState({\n hasTitle: false\n });\n }\n };\n\n return _this;\n }\n\n createClass(TableCell, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps, nextState) {\n var isTotalCheckboxEqual = true;\n\n if (this.props.data.total) {\n isTotalCheckboxEqual = isEqual(['isAllSelected', 'isSomeSelected'], this.props, nextProps);\n }\n\n return !(isEqual(['field', 'data', 'colIndex', 'onContextMenu', 'rowIndex', 'freezeColumns', 'tdOnMouseOver', 'tdOnMouseLeave', 'isSkeleton', 'tbodyRowHeight'], this.props, nextProps) && isEqual(['isTdClicked', 'hasTitle'], this.state, nextState) && isTotalCheckboxEqual);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props = this.props,\n field = _this$props.field,\n data = _this$props.data,\n colIndex = _this$props.colIndex,\n _onContextMenu = _this$props.onContextMenu,\n rowIndex = _this$props.rowIndex,\n freezeColumns = _this$props.freezeColumns,\n tdOnMouseOver = _this$props.tdOnMouseOver,\n tdOnMouseLeave = _this$props.tdOnMouseLeave,\n isSkeleton = _this$props.isSkeleton,\n tbodyRowHeight = _this$props.tbodyRowHeight,\n theadRowHeight = _this$props.theadRowHeight;\n var _this$state = this.state,\n isTdClicked = _this$state.isTdClicked,\n hasTitle = _this$state.hasTitle;\n var classNames = [];\n\n if (field.className) {\n classNames.push(typeof field.className === 'function' ? field.className(data, field) : field.className);\n }\n\n if (isTdClicked) {\n classNames.push('_clicked');\n }\n\n var isUnsorted = data.rowClassName && data.rowClassName.indexOf('tr-unsorted') !== -1;\n var cellHeight = isUnsorted ? theadRowHeight : tbodyRowHeight;\n var childrenProps = {};\n var clickElement;\n\n if (field.click) {\n clickElement = field.click(data, field);\n\n if (clickElement && field.isFocusOnClick) {\n var refName = field.clickFocusRefPropName || 'ref';\n childrenProps = defineProperty({}, refName, function (el) {\n _this2.innerClickElement = el;\n });\n }\n }\n\n var tdContent;\n\n if (!isSkeleton) {\n tdContent = typeof field.key === 'function' ? field.key(data, field) : data[field.key];\n }\n\n var tdProps = {\n className: classNames.join(' '),\n style: {\n height: \"\".concat(cellHeight, \"px\")\n }\n };\n\n if (!isSkeleton) {\n tdProps = _objectSpread$7(_objectSpread$7({}, tdProps), {}, {\n ref: function ref(el) {\n _this2.td = el;\n },\n key: colIndex,\n onContextMenu: function onContextMenu(e) {\n _onContextMenu(e, data, rowIndex, colIndex + freezeColumns);\n },\n onMouseOver: function onMouseOver(_ref3) {\n var target = _ref3.target;\n var el = target.closest('td'); // to overcome bug when EditableText Dialog is created through Portal\n\n if (el) {\n tdOnMouseOver(colIndex + freezeColumns);\n }\n },\n onMouseLeave: function onMouseLeave() {\n return tdOnMouseLeave();\n },\n onClick: this.handleTdClick,\n onMouseEnter: this.handleMouseEnter,\n title: hasTitle ? typeof tdContent === 'string' ? tdContent : undefined : undefined\n });\n }\n\n var tdContentProps = {\n style: {\n height: \"\".concat(cellHeight, \"px\")\n }\n };\n return /*#__PURE__*/React__default.createElement(\"td\", tdProps, !isSkeleton ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, field.hover && /*#__PURE__*/React__default.createElement(\"div\", _extends_1({}, tdContentProps, {\n className: \"td-content _hover\"\n }), /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"td-content-inner\"\n }, field.hover(data, field))), /*#__PURE__*/React__default.isValidElement(clickElement) && /*#__PURE__*/React__default.createElement(\"div\", _extends_1({}, tdContentProps, {\n className: \"td-content _click\"\n }), /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"td-content-inner\"\n }, /*#__PURE__*/React__default.cloneElement(clickElement, childrenProps))), /*#__PURE__*/React__default.createElement(TdInner, {\n tooltip: field.tooltip,\n isUnsorted: isUnsorted,\n tbodyRowHeight: cellHeight\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"td-content-inner\",\n ref: function ref(el) {\n _this2.tdElement = el;\n }\n }, tdContent))) : /*#__PURE__*/React__default.createElement(TdInner, {\n tbodyRowHeight: cellHeight\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"td-content-inner\",\n style: {\n width: '100%'\n }\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"skeleton-block\",\n style: {\n width: '100%',\n height: \"\".concat(17 / 16, \"rem\")\n }\n }))));\n }\n }]);\n\n return TableCell;\n}(Component);\nTdInner.propTypes = {\n tooltip: PropTypes__default.oneOfType([PropTypes__default.string, PropTypes__default.element]),\n isUnsorted: PropTypes__default.bool,\n tbodyRowHeight: PropTypes__default.number\n};\nTableCell.propTypes = {\n rowIndex: PropTypes__default.number,\n data: PropTypes__default.any,\n onContextMenu: PropTypes__default.func,\n colIndex: PropTypes__default.number,\n freezeColumns: PropTypes__default.number,\n tdOnMouseOver: PropTypes__default.func,\n tdOnMouseLeave: PropTypes__default.func,\n field: PropTypes__default.object,\n isSkeleton: PropTypes__default.bool,\n tbodyRowHeight: PropTypes__default.number,\n theadRowHeight: PropTypes__default.number\n};\n\nfunction ownKeys$8(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$8(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$8(Object(source), true).forEach(function (key) { defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$8(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper$u(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$u(); return function _createSuperInternal() { var Super = getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$u() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar TableRow = /*#__PURE__*/function (_Component) {\n inherits(TableRow, _Component);\n\n var _super = _createSuper$u(TableRow);\n\n function TableRow() {\n classCallCheck(this, TableRow);\n\n return _super.apply(this, arguments);\n }\n\n createClass(TableRow, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps) {\n var isEqualRowIndex = true;\n\n if (this.props.rowIndex === this.props.hoveredRowIndex) {\n if (this.props.rowIndex !== nextProps.hoveredRowIndex) {\n isEqualRowIndex = false;\n }\n } else if (this.props.rowIndex === nextProps.hoveredRowIndex) {\n isEqualRowIndex = false;\n }\n\n return !(isEqual(['rowIndex', 'freezeColumns', 'onContextMenu', 'rowClickHandler', 'isAllSelected', 'isSomeSelected', 'isSkeleton'], this.props, nextProps) && isEqual$2(nextProps.data, this.props.data) && isEqual$2(nextProps.body, this.props.body) && isEqualRowIndex);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n rowIndex = _this$props.rowIndex,\n data = _this$props.data,\n body = _this$props.body,\n _this$props$freezeCol = _this$props.freezeColumns,\n freezeColumns = _this$props$freezeCol === void 0 ? 0 : _this$props$freezeCol,\n onContextMenu = _this$props.onContextMenu,\n rowClickHandler = _this$props.rowClickHandler,\n hoveredRowIndex = _this$props.hoveredRowIndex,\n trOnMouseEnter = _this$props.trOnMouseEnter,\n trOnMouseLeave = _this$props.trOnMouseLeave,\n tdOnMouseOver = _this$props.tdOnMouseOver,\n tdOnMouseLeave = _this$props.tdOnMouseLeave,\n isSkeleton = _this$props.isSkeleton,\n tbodyRowHeight = _this$props.tbodyRowHeight,\n theadRowHeight = _this$props.theadRowHeight,\n isAllSelected = _this$props.isAllSelected,\n isSomeSelected = _this$props.isSomeSelected;\n var trProps;\n\n if (!isSkeleton) {\n trProps = {\n onClick: function onClick(e) {\n return rowClickHandler(e, data, rowIndex);\n },\n className: \"\".concat(hoveredRowIndex === rowIndex ? 'tr-hover' : '', \" \").concat(data.rowClassName || ''),\n onMouseEnter: trOnMouseEnter,\n onMouseLeave: trOnMouseLeave\n };\n } else {\n trProps = {\n className: \"loader\"\n };\n }\n\n return /*#__PURE__*/React__default.createElement(\"tr\", trProps, body.map(function (field, colIndex) {\n var tdProps = {\n field: field,\n data: data,\n tbodyRowHeight: tbodyRowHeight,\n theadRowHeight: theadRowHeight\n };\n\n if (!isSkeleton) {\n tdProps = _objectSpread$8(_objectSpread$8({}, tdProps), {}, {\n colIndex: colIndex,\n onContextMenu: onContextMenu,\n rowIndex: rowIndex,\n freezeColumns: freezeColumns,\n tdOnMouseOver: tdOnMouseOver,\n tdOnMouseLeave: tdOnMouseLeave,\n isAllSelected: isAllSelected,\n isSomeSelected: isSomeSelected\n });\n } else {\n tdProps = _objectSpread$8(_objectSpread$8({}, tdProps), {}, {\n isSkeleton: true\n });\n }\n\n return /*#__PURE__*/React__default.createElement(TableCell, _extends_1({}, tdProps, {\n key: colIndex\n }));\n }));\n }\n }]);\n\n return TableRow;\n}(Component);\nTableRow.propTypes = {\n body: tablePropTypes.body,\n freeze: tablePropTypes.freeze,\n rowIndex: PropTypes__default.number,\n data: PropTypes__default.any,\n onContextMenu: PropTypes__default.func,\n rowClickHandler: PropTypes__default.func,\n freezeColumns: PropTypes__default.number,\n hoveredRowIndex: PropTypes__default.number,\n trOnMouseEnter: PropTypes__default.func,\n trOnMouseLeave: PropTypes__default.func,\n tdOnMouseOver: PropTypes__default.func,\n tdOnMouseLeave: PropTypes__default.func,\n isSkeleton: PropTypes__default.bool,\n tbodyRowHeight: PropTypes__default.number,\n theadRowHeight: PropTypes__default.number\n};\n\nvar SORT_DIRECTION = {\n ASC: 'asc',\n DESC: 'desc'\n};\n\nfunction _createSuper$v(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$v(); return function _createSuperInternal() { var Super = getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$v() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar TableHeaderRow = /*#__PURE__*/function (_Component) {\n inherits(TableHeaderRow, _Component);\n\n var _super = _createSuper$v(TableHeaderRow);\n\n function TableHeaderRow(props) {\n var _this;\n\n classCallCheck(this, TableHeaderRow);\n\n _this = _super.call(this, props);\n _this._startDragIndex = null;\n _this._endDragIndex = null;\n _this._dragItem = null;\n\n _this.handleDragStart = function (item, index) {\n return function (e) {\n _this._startDragIndex = index;\n _this._dragItem = item;\n\n _this.setState({\n startDragIndex: index,\n draggableGroup: item.draggableGroup\n });\n };\n };\n\n _this.handleDragOver = function (item, index) {\n return function (e) {\n if (_this._endDragIndex === index) {\n return;\n }\n\n if (_this._dragItem && _this._dragItem.draggableGroup) {\n if (_this._startDragIndex !== index && _this._dragItem.draggableGroup === item.draggableGroup) {\n _this._endDragIndex = index;\n\n _this.setState({\n endDragIndex: index\n });\n }\n } else if (_this._startDragIndex !== index && _this._dragItem && !item.draggableGroup) {\n _this._endDragIndex = index;\n\n _this.setState({\n endDragIndex: index\n });\n }\n };\n };\n\n _this.handleDragEnd = function () {\n _this.props.onDragEnd(_this._dragItem, {\n start: _this._startDragIndex,\n end: _this._endDragIndex\n });\n\n _this._startDragIndex = null;\n _this._endDragIndex = null;\n _this._dragItem = null;\n\n _this.setState({\n startDragIndex: null,\n endDragIndex: null,\n draggableGroup: null\n });\n };\n\n _this.state = {\n startDragIndex: null,\n endDragIndex: null\n };\n return _this;\n }\n\n createClass(TableHeaderRow, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps, nextState) {\n return !(isEqual$2(nextProps.header, this.props.header) && nextProps.sorting === this.props.sorting && nextProps.hoveredColIndex === this.props.hoveredColIndex && isEqual(['startDragIndex', 'endDragIndex'], this.state, nextState));\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props = this.props,\n header = _this$props.header,\n sorting = _this$props.sorting,\n onSortingChanged = _this$props.onSortingChanged,\n draggable = _this$props.draggable,\n hoveredColIndex = _this$props.hoveredColIndex,\n theadRowHeight = _this$props.theadRowHeight,\n handleTheadOnMouseEnterLeave = _this$props.handleTheadOnMouseEnterLeave,\n freezeColumns = _this$props.freezeColumns,\n freezeColumnsRight = _this$props.freezeColumnsRight;\n var _this$state = this.state,\n startDragIndex = _this$state.startDragIndex,\n endDragIndex = _this$state.endDragIndex,\n draggableGroup = _this$state.draggableGroup;\n\n if (!header || !header.length) {\n return null;\n }\n\n return /*#__PURE__*/React__default.createElement(\"tr\", null, header.map(function (h, i) {\n var className = h.className,\n label = h.label,\n tooltip = h.tooltip;\n var hasSort = sorting && h.sorting !== false && h.sortingKey;\n var sortIcon;\n var attrs = {};\n\n if (hasSort) {\n attrs.onClick = function () {\n return onSortingChanged(h);\n };\n\n if (h.sortingKey !== sorting.field) {\n sortIcon = /*#__PURE__*/React__default.createElement(Icon, {\n className: \"sort-icon_default\",\n name: \"UnfoldMore\"\n });\n } else if (sorting.direction === SORT_DIRECTION.ASC) {\n sortIcon = /*#__PURE__*/React__default.createElement(Icon, {\n className: \"sort-icon_default\",\n name: \"ArrowUp\"\n });\n } else {\n sortIcon = /*#__PURE__*/React__default.createElement(Icon, {\n className: \"sort-icon_default\",\n name: \"ArrowDown\"\n });\n }\n }\n\n var classNames = [className || ''];\n\n if (hasSort) {\n classNames.push('_sorting');\n }\n\n if (draggable && h.draggable !== false) {\n attrs.draggable = true;\n attrs.onDragStart = _this2.handleDragStart(h, i);\n attrs.onDragOver = _this2.handleDragOver(h, i);\n attrs.onDragEnd = _this2.handleDragEnd;\n\n if (endDragIndex === i) {\n classNames.push('_separator');\n }\n\n if (startDragIndex === i) {\n classNames.push('_hide');\n }\n\n if (draggableGroup && h.draggableGroup !== draggableGroup || _this2._dragItem && !draggableGroup && h.draggableGroup) {\n classNames.push('_hide');\n }\n\n classNames.push(startDragIndex < endDragIndex ? '_right' : '_left');\n }\n\n if (hoveredColIndex === i) {\n classNames.push('_th-hover');\n }\n\n var sortingClassName = h.sortingKey !== sorting.field ? '' : sorting.direction === SORT_DIRECTION.ASC ? '_up' : '_down';\n\n if (typeof label === 'function') {\n return /*#__PURE__*/React__default.createElement(\"td\", {\n className: className,\n key: i\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"td-content\"\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"td-content-inner\",\n ref: function ref(el) {\n _this2.tdElement = el;\n }\n }, label())));\n }\n\n return /*#__PURE__*/React__default.createElement(\"td\", _extends_1({\n className: classNames.join(' ')\n }, attrs, {\n style: {\n height: \"\".concat(theadRowHeight, \"px\")\n },\n key: i,\n onMouseEnter: tooltip ? handleTheadOnMouseEnterLeave({\n i: freezeColumnsRight || i + freezeColumns,\n text: tooltip\n }) : null,\n onMouseLeave: tooltip ? handleTheadOnMouseEnterLeave() : null\n }), /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"td-content\",\n style: {\n height: \"\".concat(theadRowHeight, \"px\")\n }\n }, label, sortIcon && /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"td-sorting \".concat(sortingClassName)\n }, sortIcon)));\n }));\n }\n }]);\n\n return TableHeaderRow;\n}(Component);\nTableHeaderRow.propTypes = {\n header: tablePropTypes.header,\n freeze: tablePropTypes.freeze,\n sorting: tablePropTypes.sorting,\n onSortingChanged: PropTypes__default.func,\n draggable: PropTypes__default.bool,\n onDragEnd: PropTypes__default.func,\n theadRowHeight: PropTypes__default.number,\n hoveredColIndex: PropTypes__default.number,\n handleTheadOnMouseEnterLeave: PropTypes__default.func,\n freezeColumns: PropTypes__default.number,\n freezeColumnsRight: PropTypes__default.number\n};\n\nvar css_248z$f = \":root {\\n --primary1: #123787;\\n --primary2: #1d58d7;\\n --primary3: #5173fb;\\n --primary4: #7a93ff;\\n --primary5: #c2d0ff;\\n --primary6: #e5ebff;\\n --primary7: #f2f5ff; }\\n\\n.tableHeaderTooltip-module_tooltip__1jEpb {\\n pointer-events: none;\\n position: absolute;\\n z-index: 4;\\n transform: translateX(-50%); }\\n .tableHeaderTooltip-module_tooltip__1jEpb.tableHeaderTooltip-module__bottom__8_32p ::before {\\n content: \\\"\\\";\\n position: absolute;\\n width: 8px;\\n height: 8px;\\n top: -1px;\\n left: calc(50% - 8px);\\n background: #ffffff;\\n transform: translate(50%, -50%) rotate(45deg);\\n border-left: 1px solid #f4f4f4;\\n border-top: 1px solid #f4f4f4; }\\n .tableHeaderTooltip-module_tooltip__1jEpb.tableHeaderTooltip-module__left__1T9wi {\\n transform: translate(-100%, -50%); }\\n .tableHeaderTooltip-module_tooltip__1jEpb.tableHeaderTooltip-module__left__1T9wi ::before {\\n content: \\\"\\\";\\n position: absolute;\\n width: 8px;\\n height: 8px;\\n right: 0;\\n top: 14px;\\n background: #ffffff;\\n transform: translate(50%, -50%) rotate(45deg);\\n border-right: 1px solid #f4f4f4;\\n border-top: 1px solid #f4f4f4; }\\n .tableHeaderTooltip-module_tooltip__1jEpb.tableHeaderTooltip-module__right__SopMJ {\\n transform: translateY(-50%); }\\n .tableHeaderTooltip-module_tooltip__1jEpb.tableHeaderTooltip-module__right__SopMJ ::before {\\n content: \\\"\\\";\\n position: absolute;\\n width: 8px;\\n height: 8px;\\n left: -8px;\\n top: 14px;\\n background: #ffffff;\\n transform: translate(50%, -50%) rotate(45deg);\\n border-left: 1px solid #f4f4f4;\\n border-bottom: 1px solid #f4f4f4; }\\n\";\nvar styles$e = {\"tooltip\":\"tableHeaderTooltip-module_tooltip__1jEpb\",\"_bottom\":\"tableHeaderTooltip-module__bottom__8_32p\",\"_left\":\"tableHeaderTooltip-module__left__1T9wi\",\"_right\":\"tableHeaderTooltip-module__right__SopMJ\"};\nstyleInject(css_248z$f);\n\nfunction _createSuper$w(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$w(); return function _createSuperInternal() { var Super = getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$w() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar TableHeaderTooltip = /*#__PURE__*/function (_Component) {\n inherits(TableHeaderTooltip, _Component);\n\n var _super = _createSuper$w(TableHeaderTooltip);\n\n function TableHeaderTooltip(props) {\n var _this;\n\n classCallCheck(this, TableHeaderTooltip);\n\n _this = _super.call(this);\n\n _this.onFontLoaded = function () {\n var font = new fontfaceobserver_standalone('Avenir Next Regular');\n font.load().then(function () {\n return _this.setLabelMaxWidth();\n }).then(function () {\n return _this.getPosition();\n });\n };\n\n _this.setLabelMaxWidth = function (isTooltipChanged) {\n if (isTooltipChanged === undefined || isTooltipChanged === true) {\n var contentWidth = Math.ceil(_this.tooltipLabelInner.getBoundingClientRect().width);\n contentWidth = contentWidth <= _this.labelInnerWidth ? contentWidth : _this.labelInnerWidth;\n\n _this.setState({\n labelInnerMaxWidth: contentWidth,\n position: 'bottom'\n });\n }\n };\n\n _this.labelInnerWidth = props.labelMaxWidth ? props.labelMaxWidth - 20 : 480; // 2x 10px horizontal paddings\n\n _this.state = {\n position: 'bottom',\n labelInnerMaxWidth: _this.labelInnerWidth\n };\n return _this;\n }\n\n createClass(TableHeaderTooltip, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps, nextState) {\n this.isTooltipChanged = !isEqual$2(nextProps.tooltip, this.props.tooltip);\n\n if (this.isTooltipChanged) {\n this.isTooltipWidthSet = false;\n } else if (!isEqual$2(nextState.labelInnerMaxWidth, this.state.labelInnerMaxWidth)) {\n this.isTooltipWidthSet = true;\n }\n\n this.isScrollLeftChanged = !isEqual$2(nextProps.scrollLeft, this.props.scrollLeft);\n return !(isEqual$2(nextProps.tooltip, this.props.tooltip) && isEqual$2(nextProps.cellsWidths, this.props.cellsWidths) && isEqual$2(nextProps.scrollLeft, this.props.scrollLeft) && isEqual$2(nextProps.freezeColumns, this.props.freezeColumns) && isEqual$2(nextState.position, this.state.position) && isEqual$2(nextState.labelInnerMaxWidth, this.state.labelInnerMaxWidth));\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.onFontLoaded();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.setLabelMaxWidth(this.isTooltipChanged);\n\n if (this.isTooltipWidthSet) {\n this.getPosition(this.isScrollLeftChanged);\n }\n }\n }, {\n key: \"getPosition\",\n value: function getPosition(isScrollLeftChanged) {\n var position = isScrollLeftChanged ? 'bottom' : this.state.position;\n var coord = this.tooltipLabel.getBoundingClientRect();\n var x = coord.x,\n right = coord.right;\n\n if (x < 0) {\n position = 'right';\n }\n\n if (right > window.innerWidth) {\n position = 'left';\n }\n\n if (position !== this.state.position) {\n this.setState({\n position: position\n });\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props = this.props,\n tooltip = _this$props.tooltip,\n _this$props$cellsWidt = _this$props.cellsWidths,\n cellsWidths = _this$props$cellsWidt === void 0 ? [] : _this$props$cellsWidt,\n _this$props$scrollLef = _this$props.scrollLeft,\n scrollLeft = _this$props$scrollLef === void 0 ? 0 : _this$props$scrollLef,\n _this$props$freezeCol = _this$props.freezeColumns,\n freezeColumns = _this$props$freezeCol === void 0 ? 0 : _this$props$freezeCol,\n _this$props$className = _this$props.className,\n className = _this$props$className === void 0 ? '' : _this$props$className;\n var top = this.props.top;\n var _this$state = this.state,\n position = _this$state.position,\n labelInnerMaxWidth = _this$state.labelInnerMaxWidth;\n var left = '';\n var right = 'auto';\n var positionClassName = ''; // sum of cells widths before active one\n\n var sumOfCellsWidthsBeforeActive = cellsWidths.slice(0, tooltip.i).reduce(function (a, b) {\n return a + b;\n }, 0); // scroll correction, assuming frozen columns\n\n var scrollCorrection = tooltip.i >= freezeColumns ? scrollLeft : 0;\n\n switch (position) {\n case 'bottom':\n left = (tooltip.i ? sumOfCellsWidthsBeforeActive : 0) + cellsWidths[tooltip.i] / 2 - // half a width of active cell\n scrollCorrection + 'px';\n positionClassName = styles$e._bottom;\n break;\n\n case 'left':\n top = top / 2;\n left = sumOfCellsWidthsBeforeActive - scrollCorrection + 'px';\n positionClassName = styles$e._left;\n break;\n\n case 'right':\n top = top / 2;\n left = (tooltip.i ? sumOfCellsWidthsBeforeActive : 0) + cellsWidths[tooltip.i] - scrollCorrection + 'px';\n positionClassName = styles$e._right;\n break;\n }\n\n var style = {\n top: \"\".concat(top, \"px\"),\n left: left,\n right: right\n };\n return /*#__PURE__*/React__default.createElement(\"div\", {\n ref: function ref(el) {\n _this2.tooltipLabel = el;\n },\n className: \"\".concat(styles$e.tooltip, \" td-tooltip \").concat(className, \" \").concat(positionClassName, \" tooltipV2__label\"),\n style: style\n }, /*#__PURE__*/React__default.createElement(\"span\", {\n className: \"tooltipV2__label-outer\",\n style: {\n width: \"\".concat(this.labelInnerWidth, \"px\"),\n maxWidth: \"\".concat(this.isTooltipChanged ? this.labelInnerWidth : labelInnerMaxWidth, \"px\")\n }\n }, /*#__PURE__*/React__default.createElement(\"span\", {\n ref: function ref(el) {\n _this2.tooltipLabelInner = el;\n },\n className: \"tooltipV2__label-inner\"\n }, tooltip.text)));\n }\n }]);\n\n return TableHeaderTooltip;\n}(Component);\nTableHeaderTooltip.propTypes = {\n tooltip: PropTypes__default.shape({\n i: PropTypes__default.number,\n text: PropTypes__default.string\n }),\n cellsWidths: PropTypes__default.arrayOf(PropTypes__default.number),\n top: PropTypes__default.number,\n scrollLeft: PropTypes__default.number,\n freezeColumns: PropTypes__default.number,\n className: PropTypes__default.string,\n labelMaxWidth: PropTypes__default.number\n};\n\nvar getSelectionText = function getSelectionText() {\n if (window.getSelection) {\n try {\n var activeElement = document.activeElement;\n\n if (activeElement && activeElement.value) {\n // firefox bug https://bugzilla.mozilla.org/show_bug.cgi?id=85686\n return activeElement.value.substring(activeElement.selectionStart, activeElement.selectionEnd);\n } else {\n return window.getSelection().toString();\n }\n } catch (e) {}\n } else if (document.selection && document.selection.type !== 'Control') {\n // For IE\n return document.selection.createRange().text;\n }\n};\nvar DEFAULT_CELL_HEIGHT = 40;\n\nvar css_248z$g = \":root {\\n --primary1: #123787;\\n --primary2: #1d58d7;\\n --primary3: #5173fb;\\n --primary4: #7a93ff;\\n --primary5: #c2d0ff;\\n --primary6: #e5ebff;\\n --primary7: #f2f5ff; }\\n\\n@keyframes table-module_hover-ripples__UzUbu {\\n 0% {\\n top: -0.1875em;\\n left: -0.1875em;\\n right: -0.1875em;\\n bottom: -0.1875em;\\n opacity: 1; }\\n 100% {\\n top: -0.8125em;\\n left: -0.8125em;\\n right: -0.8125em;\\n bottom: -0.8125em;\\n opacity: 0; } }\\n\\n.table-module_container__1ZPhr table {\\n table-layout: fixed;\\n border-collapse: collapse;\\n padding: 0;\\n border: none; }\\n\\n.table-module_container__1ZPhr thead .td-content {\\n border-bottom: 1px solid rgba(203, 203, 203, 0.5);\\n background: #f4f4f4;\\n font-family: 'Avenir Next Demi', sans-serif;\\n font-weight: normal;\\n letter-spacing: .2px;\\n font-size: 0.875rem; }\\n\\n.table-module_container__1ZPhr thead td:hover .td-content, .table-module_container__1ZPhr thead td._th-hover .td-content,\\n.table-module_container__1ZPhr thead th:hover .td-content,\\n.table-module_container__1ZPhr thead th._th-hover .td-content {\\n background: #f2f5ff; }\\n\\n.table-module_container__1ZPhr thead td:not(._hide):hover .td-content .td-tooltip,\\n.table-module_container__1ZPhr thead td:not(._hide):hover .td-content .th-tooltip,\\n.table-module_container__1ZPhr thead th:not(._hide):hover .td-content .td-tooltip,\\n.table-module_container__1ZPhr thead th:not(._hide):hover .td-content .th-tooltip {\\n display: block; }\\n\\n.table-module_container__1ZPhr tbody tr:hover .td-content._hover, .table-module_container__1ZPhr tbody tr.tr-hover .td-content._hover {\\n display: flex; }\\n .table-module_container__1ZPhr tbody tr:hover .td-content._hover + .td-content, .table-module_container__1ZPhr tbody tr.tr-hover .td-content._hover + .td-content {\\n display: none; }\\n\\n.table-module_container__1ZPhr tbody tr:nth-child(even) .td-content .skeleton-block {\\n background-image: linear-gradient(90deg, #dddddd 0px, #e9e8e8 2rem, #dddddd 4rem); }\\n\\n.table-module_container__1ZPhr tbody tr:first-child .td-content {\\n border-top-width: 0; }\\n\\n.table-module_container__1ZPhr tbody tr.tr-unsorted .td-content {\\n border-color: rgba(203, 203, 203, 0.5);\\n background: #f4f4f4;\\n font-family: 'Avenir Next Demi', sans-serif;\\n font-weight: normal;\\n font-size: 0.875rem; }\\n\\n.table-module_container__1ZPhr tbody tr:not(.tr-unsorted):last-child .td-content {\\n border-bottom: 1px solid rgba(203, 203, 203, 0.5); }\\n\\n.table-module_container__1ZPhr tbody tr:not(.tr-unsorted):hover .td-content, .table-module_container__1ZPhr tbody tr:not(.tr-unsorted).tr-hover .td-content {\\n background-color: #f2f5ff; }\\n\\n.table-module_container__1ZPhr tbody tr:not(.tr-unsorted):hover td:first-child .td-content, .table-module_container__1ZPhr tbody tr:not(.tr-unsorted).tr-hover td:first-child .td-content {\\n border-left-color: rgba(203, 203, 203, 0.5); }\\n\\n.table-module_container__1ZPhr tbody tr:not(.tr-unsorted):hover td:first-child._checkbox + td .td-content, .table-module_container__1ZPhr tbody tr:not(.tr-unsorted).tr-hover td:first-child._checkbox + td .td-content {\\n border-left-color: rgba(203, 203, 203, 0.5); }\\n\\n.table-module_container__1ZPhr tbody tr._selected td .td-content, .table-module_container__1ZPhr tbody tr._selected:hover td .td-content, .table-module_container__1ZPhr tbody tr._selected.tr-hover td .td-content {\\n background: #ebeeff !important; }\\n\\n.table-module_container__1ZPhr tbody tr._selected td._checkbox:first-child + td .td-content, .table-module_container__1ZPhr tbody tr._selected:hover td._checkbox:first-child + td .td-content, .table-module_container__1ZPhr tbody tr._selected.tr-hover td._checkbox:first-child + td .td-content {\\n position: relative; }\\n\\n.table-module_container__1ZPhr tbody tr._selected:not(:last-child) td:not(._checkbox) .td-content, .table-module_container__1ZPhr tbody tr._selected:hover:not(:last-child) td:not(._checkbox) .td-content, .table-module_container__1ZPhr tbody tr._selected.tr-hover:not(:last-child) td:not(._checkbox) .td-content {\\n position: relative; }\\n\\n.table-module_container__1ZPhr tbody tr._excluded td:not(._checkbox) .td-content {\\n background: linear-gradient(to right, rgba(255, 88, 89, 0.1) 0%, rgba(255, 88, 89, 0.1) 100%), linear-gradient(to right, #ffffff 0%, #ffffff 100%) !important; }\\n\\n.table-module_container__1ZPhr tbody tr._excluded:hover td:not(._checkbox) .td-content, .table-module_container__1ZPhr tbody tr._excluded.tr-hover td:not(._checkbox) .td-content {\\n background: linear-gradient(to right, rgba(255, 88, 89, 0.2) 0%, rgba(255, 88, 89, 0.2) 100%), linear-gradient(to right, #ffffff 0%, #ffffff 100%) !important; }\\n\\n.table-module_container__1ZPhr tbody tr._excluded:hover:not(._selected) td._checkbox:first-child ~ td:not(:nth-child(2)) .td-content, .table-module_container__1ZPhr tbody tr._excluded.tr-hover:not(._selected) td._checkbox:first-child ~ td:not(:nth-child(2)) .td-content {\\n border-left-color: #ffdede !important; }\\n\\n.table-module_container__1ZPhr td,\\n.table-module_container__1ZPhr th {\\n padding: 0;\\n min-width: 100px;\\n width: 300px;\\n max-width: 300px;\\n border: none; }\\n .table-module_container__1ZPhr td:last-child .td-content,\\n .table-module_container__1ZPhr th:last-child .td-content {\\n border-right: 1px solid rgba(203, 203, 203, 0.5); }\\n .table-module_container__1ZPhr td._sorting .td-content,\\n .table-module_container__1ZPhr th._sorting .td-content {\\n cursor: pointer; }\\n .table-module_container__1ZPhr td._checkbox,\\n .table-module_container__1ZPhr th._checkbox {\\n min-width: 44px;\\n width: 44px;\\n max-width: 44px; }\\n .table-module_container__1ZPhr td._clicked .td-content._click,\\n .table-module_container__1ZPhr th._clicked .td-content._click {\\n display: flex; }\\n .table-module_container__1ZPhr td._clicked .td-content._click + .td-content,\\n .table-module_container__1ZPhr th._clicked .td-content._click + .td-content {\\n display: none; }\\n\\n.table-module_container__1ZPhr .td-content {\\n display: flex;\\n align-items: center;\\n padding: 6px 8px;\\n height: 100%;\\n border-top: 1px solid rgba(203, 203, 203, 0.5);\\n border-left: 1px solid rgba(203, 203, 203, 0.5);\\n background: #ffffff;\\n font-family: 'Avenir Next Regular', sans-serif;\\n font-weight: normal;\\n font-size: 0.875rem;\\n line-height: 1.21429em;\\n color: #2b2b2b;\\n text-align: left;\\n white-space: nowrap;\\n text-overflow: ellipsis; }\\n .table-module_container__1ZPhr .td-content._hover {\\n display: none; }\\n .table-module_container__1ZPhr .td-content._click {\\n display: none; }\\n .table-module_container__1ZPhr .td-content._click + .td-content {\\n cursor: pointer; }\\n .table-module_container__1ZPhr .td-content .td-sorting {\\n position: relative;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n margin-left: auto;\\n width: 0.5rem;\\n line-height: 0; }\\n .table-module_container__1ZPhr .td-content .td-sorting._up, .table-module_container__1ZPhr .td-content .td-sorting._down {\\n width: 0.75rem; }\\n .table-module_container__1ZPhr .td-content .td-sorting:not(._up):not(._down) {\\n visibility: hidden; }\\n .table-module_container__1ZPhr .td-content .td-sorting .sort-icon_default {\\n flex: 0 0 1rem;\\n margin-left: auto;\\n height: auto;\\n fill: #787878; }\\n .table-module_container__1ZPhr .td-content:hover .td-sorting:not(._up):not(._down) {\\n visibility: visible; }\\n\\n.table-module_container__1ZPhr .td-content-inner {\\n overflow: hidden;\\n white-space: nowrap;\\n text-overflow: ellipsis; }\\n\\n.table-module_container__1ZPhr .td-tooltip._css,\\n.table-module_container__1ZPhr .th-tooltip._css {\\n display: none; }\\n\\n.table-module_container__1ZPhr .table-module_containerLeft__2m5Kg td:last-child .td-content,\\n.table-module_container__1ZPhr .table-module_containerLeft__2m5Kg th:last-child .td-content {\\n border-right: 2px solid #a2a2a2; }\\n\\n.table-module_container__1ZPhr .table-module_containerRightMost__3FCIF td:first-child .td-content,\\n.table-module_container__1ZPhr .table-module_containerRightMost__3FCIF th:first-child .td-content {\\n border-left: 2px solid #a2a2a2; }\\n\\n.table-module_container__1ZPhr .table-module_containerRightMost__3FCIF tbody tr:not(.tr-unsorted):hover td:first-child .td-content,\\n.table-module_container__1ZPhr .table-module_containerRightMost__3FCIF tbody tr:not(.tr-unsorted):hover th:first-child .td-content,\\n.table-module_container__1ZPhr .table-module_containerRightMost__3FCIF tbody tr:not(.tr-unsorted).tr-hover td:first-child .td-content,\\n.table-module_container__1ZPhr .table-module_containerRightMost__3FCIF tbody tr:not(.tr-unsorted).tr-hover th:first-child .td-content {\\n border-left: 2px solid #a2a2a2; }\\n\\n.table-module_container__1ZPhr .table-module_containerLeft__2m5Kg + .table-module_containerRight__2tD1U td:first-child .td-content,\\n.table-module_container__1ZPhr .table-module_containerLeft__2m5Kg + .table-module_containerRight__2tD1U th:first-child .td-content {\\n border-left-width: 0; }\\n\\n.table-module_container__1ZPhr .table-module_containerUp__2Qe14 tbody tr:not(.tr-unsorted):last-child .td-content {\\n border-bottom: 2px solid #a2a2a2; }\\n\\n.table-module_containerTable__EaneQ._odd-stripes tbody tr:not(.tr-unsorted):not(.tr-hover):not(:hover) .td-content {\\n background: #ffffff; }\\n\\n.table-module_containerTable__EaneQ._odd-stripes tbody tr:not(.tr-unsorted):not(.tr-hover):not(:hover):nth-child(odd) .td-content .skeleton-block {\\n background-image: linear-gradient(90deg, #dddddd 0px, #e9e8e8 2rem, #dddddd 4rem); }\\n\\n.table-module_containerTable__EaneQ {\\n position: relative; }\\n .table-module_containerTableProgress__1ltyG {\\n pointer-events: none;\\n position: absolute;\\n z-index: 1;\\n left: 0;\\n right: 0;\\n transition: background-image 0.25s; }\\n\\n.table-module_containerUp__2Qe14 {\\n position: -webkit-sticky;\\n /* Safari */\\n position: sticky;\\n z-index: 3;\\n top: 0;\\n display: flex;\\n align-items: flex-start;\\n background: #ffffff; }\\n .table-module_containerUp__2Qe14 .table-module_containerLeft__2m5Kg table {\\n overflow: hidden; }\\n\\n.table-module_containerDown__3fMpr {\\n position: relative;\\n top: 0;\\n overflow: auto;\\n display: flex;\\n align-items: flex-start; }\\n\\n.table-module_containerLeft__2m5Kg {\\n flex: 0 1 auto; }\\n\\n.table-module_containerRight__2tD1U {\\n flex: 0 1 auto;\\n overflow: hidden; }\\n .table-module_containerRightScroller__g3_OG {\\n overflow: auto; }\\n\\n.table-module_container__1ZPhr .td-content {\\n position: relative; }\\n\\n.table-module_container__1ZPhr._dnd td._hide .td-content,\\n.table-module_container__1ZPhr._dnd th._hide .td-content {\\n opacity: 0.3; }\\n\\n.table-module_container__1ZPhr._dnd td._separator .td-content:before,\\n.table-module_container__1ZPhr._dnd th._separator .td-content:before {\\n content: '';\\n position: absolute;\\n width: 4px;\\n height: 100%;\\n background-color: #798eff; }\\n\\n.table-module_container__1ZPhr._dnd td._separator._left .td-content:before,\\n.table-module_container__1ZPhr._dnd th._separator._left .td-content:before {\\n left: 0; }\\n\\n.table-module_container__1ZPhr._dnd td._separator._right .td-content:before,\\n.table-module_container__1ZPhr._dnd th._separator._right .td-content:before {\\n right: 0; }\\n\\n.table-module_scroller__HSsUm {\\n position: absolute;\\n z-index: 3;\\n bottom: 0;\\n right: 0;\\n height: 20px;\\n transform: translateY(100%);\\n overflow: auto;\\n opacity: 0.5;\\n transition: opacity 0.25s; }\\n .table-module_scroller__HSsUm:hover {\\n opacity: 1; }\\n .table-module_scroller__HSsUm:hover::-webkit-scrollbar {\\n height: 10px; }\\n .table-module_scroller__HSsUm:hover::-webkit-scrollbar-thumb {\\n height: 10px; }\\n .table-module_scroller__HSsUm._fixed {\\n position: fixed;\\n bottom: 40px;\\n right: auto; }\\n .table-module_scroller__HSsUm::-webkit-scrollbar {\\n -webkit-appearance: none;\\n height: 6px; }\\n .table-module_scroller__HSsUm::-webkit-scrollbar-thumb {\\n height: 6px;\\n border-radius: 5px;\\n background-color: rgba(0, 0, 0, 0.5); }\\n .table-module_scrollerPlaceholder__1PQ0_ {\\n height: 1px; }\\n\\n.table-module_iframe__2_uWF {\\n display: block;\\n margin: 0;\\n width: 100%;\\n height: 0;\\n border: 0; }\\n\\n.table-module_tooltipWrapper__2rDL_ {\\n position: -webkit-sticky;\\n /* Safari */\\n position: sticky;\\n z-index: 25; }\\n\\n.table-module_overflowYHidden__1VvU_ {\\n overflow-y: hidden; }\\n\";\nvar styles$f = {\"container\":\"table-module_container__1ZPhr\",\"containerLeft\":\"table-module_containerLeft__2m5Kg\",\"containerRightMost\":\"table-module_containerRightMost__3FCIF\",\"containerRight\":\"table-module_containerRight__2tD1U\",\"containerUp\":\"table-module_containerUp__2Qe14\",\"containerTable\":\"table-module_containerTable__EaneQ\",\"containerTableProgress\":\"table-module_containerTableProgress__1ltyG\",\"containerDown\":\"table-module_containerDown__3fMpr\",\"containerRightScroller\":\"table-module_containerRightScroller__g3_OG\",\"scroller\":\"table-module_scroller__HSsUm\",\"scrollerPlaceholder\":\"table-module_scrollerPlaceholder__1PQ0_\",\"iframe\":\"table-module_iframe__2_uWF\",\"tooltipWrapper\":\"table-module_tooltipWrapper__2rDL_\",\"overflowYHidden\":\"table-module_overflowYHidden__1VvU_\",\"hover-ripples\":\"table-module_hover-ripples__UzUbu\"};\nstyleInject(css_248z$g);\n\nfunction ownKeys$9(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$9(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$9(Object(source), true).forEach(function (key) { defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$9(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper$x(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$x(); return function _createSuperInternal() { var Super = getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$x() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar Table = /*#__PURE__*/function (_Component) {\n inherits(Table, _Component);\n\n var _super = _createSuper$x(Table);\n\n function Table(props) {\n var _this;\n\n classCallCheck(this, Table);\n\n _this = _super.call(this, props);\n\n _this.onFontLoaded = function () {\n var font = new fontfaceobserver_standalone('Avenir Next Regular');\n font.load().then(function () {\n _this.syncWidths();\n });\n };\n\n _this.tableHeaderElement = /*#__PURE__*/React__default.createRef();\n\n _this.onTableChanged = function () {\n if (_this.props.onChange) {\n var _this$state = _this.state,\n sorting = _this$state.sorting,\n paging = _this$state.paging;\n\n _this.props.onChange({\n sorting: sorting,\n paging: paging\n });\n }\n };\n\n _this.handleContextMenu = function (event, row, rowNumber, colNumber) {\n event.preventDefault();\n\n _this.setState({\n contextMenu: {\n row: row,\n rowNumber: rowNumber,\n colNumber: colNumber,\n clientX: event.clientX,\n clientY: event.clientY,\n copy: getSelectionText()\n }\n });\n };\n\n _this.renderBodyRow = function (data, rowIndex, body, freezeColumns) {\n var _this$props = _this.props,\n tbodyRowHeight = _this$props.tbodyRowHeight,\n theadRowHeight = _this$props.theadRowHeight,\n rowKeyExtractor = _this$props.rowKeyExtractor,\n rowClickHandler = _this$props.rowClickHandler;\n var _this$state2 = _this.state,\n hoveredRowIndex = _this$state2.hoveredRowIndex,\n freeze = _this$state2.freeze;\n return /*#__PURE__*/React__default.createElement(TableRow, {\n data: data,\n body: body,\n rowIndex: rowIndex,\n key: rowKeyExtractor(data, rowIndex),\n onContextMenu: _this.handleContextMenu,\n rowClickHandler: rowClickHandler,\n freezeColumns: freezeColumns,\n hoveredRowIndex: hoveredRowIndex,\n trOnMouseEnter: freeze.columns > 0 || freeze.columnsRight ? _this.setHoveredRowIndex(rowIndex) : null,\n trOnMouseLeave: freeze.columns > 0 || freeze.columnsRight ? _this.setHoveredRowIndex(null) : null,\n tdOnMouseOver: _this.setHoveredColIndex,\n tdOnMouseLeave: _this.setHoveredColIndex,\n tbodyRowHeight: tbodyRowHeight,\n theadRowHeight: theadRowHeight,\n isAllSelected: _this.isAllSelected,\n isSomeSelected: _this.isSomeSelected\n });\n };\n\n _this.setHoveredRowIndex = function (hoveredRowIndex) {\n return function () {\n return _this.setState({\n hoveredRowIndex: hoveredRowIndex\n });\n };\n };\n\n _this.setHoveredColIndex = function (hoveredColIndex) {\n return _this.setState({\n hoveredColIndex: hoveredColIndex\n });\n };\n\n _this.handlePerPageChange = function (v) {\n var paging = _this.state.paging;\n\n _this.setState({\n paging: _objectSpread$9(_objectSpread$9({}, paging), {}, {\n itemsCountPerPage: v.value,\n activePage: 1\n })\n }, function () {\n _this.onTableChanged();\n });\n };\n\n _this.handlePageChange = function (page) {\n var paging = _this.state.paging;\n\n _this.setState({\n paging: _objectSpread$9(_objectSpread$9({}, paging), {}, {\n activePage: page\n })\n }, function () {\n _this.onTableChanged();\n });\n };\n\n _this.handleFreezeRow = function (row, index) {\n var freezeUpdateHandler = _this.props.freezeUpdateHandler;\n\n _this.setState({\n contextMenu: null,\n freeze: _objectSpread$9(_objectSpread$9({}, _this.state.freeze), {}, {\n rows: index\n })\n }, function () {\n return freezeUpdateHandler && freezeUpdateHandler(_this.state.freeze);\n });\n };\n\n _this.handleFreezeColumn = function (column, index) {\n var freezeUpdateHandler = _this.props.freezeUpdateHandler;\n\n _this.setState({\n contextMenu: null,\n freeze: _objectSpread$9(_objectSpread$9({}, _this.state.freeze), {}, {\n columns: index\n })\n }, function () {\n return freezeUpdateHandler && freezeUpdateHandler(_this.state.freeze);\n });\n };\n\n _this.syncWidths = function () {\n // get lower table full row cells\n var downCells = [].concat(toConsumableArray(_this.tableDowns[0] ? _this.tableDowns[0].querySelectorAll('tbody tr:first-child td') : []), toConsumableArray(_this.tableDowns[1] ? _this.tableDowns[1].querySelectorAll('tbody tr:first-child td') : []), toConsumableArray(_this.tableDowns[2] ? _this.tableDowns[2].querySelectorAll('tbody tr:first-child td') : []));\n var cellsWidths = []; // check if table component has upper table and if yes get all its cells\n\n var upCells;\n\n if (_this.tableUps.length) {\n upCells = [].concat(toConsumableArray(_this.tableUps[0] ? _this.tableUps[0].querySelectorAll('thead td') : []), toConsumableArray(_this.tableUps[1] ? _this.tableUps[1].querySelectorAll('thead td') : []), toConsumableArray(_this.tableUps[2] ? _this.tableUps[2].querySelectorAll('thead td') : []));\n }\n\n [].forEach.call(downCells, function (i, k) {\n if (!i.offsetWidth) return; // @todo does this really needed?\n\n if (upCells && upCells[k]) {\n upCells[k].style.minWidth = \"\".concat(i.offsetWidth, \"px\");\n upCells[k].style.maxWidth = \"\".concat(i.offsetWidth, \"px\");\n }\n\n cellsWidths.push(i.offsetWidth);\n }); // to use widths out of current function\n\n _this.cellsWidths = cellsWidths;\n\n if (_this.containerDown && _this.tableDowns[1]) {\n var diff = _this.containerDown.offsetWidth - _this.tableDowns[1].offsetWidth;\n _this.containerDown.style.marginRight = \"-\".concat(Math.max(0, diff - 1), \"px\");\n }\n };\n\n _this.addTableUps = function (el, index) {\n if (!el || _this.tableUps.indexOf(el) !== -1) {\n return;\n }\n\n _this.tableUps[index] = el;\n };\n\n _this.addTableDowns = function (el, index) {\n if (!el || _this.tableDowns.indexOf(el) !== -1) {\n return;\n }\n\n _this.tableDowns[index] = el;\n };\n\n _this.addSyncedElement = function (el) {\n if (!el || _this.syncedElements.indexOf(el) !== -1) {\n return;\n }\n\n _this.syncedElements.push(el);\n };\n\n _this.syncScroll = function (e) {\n // if nothing to sync with or if scroll event fired on element that is not under mouse now\n if (_this.syncedElements.length < 2 || _this.scrollTarget !== e.target) {\n return;\n } // set scroll position for all table parts...\n\n\n _this.syncedElements.forEach(function (i) {\n // ...except the part where the event was initiated (since this part has already actual scroll)\n if (i !== e.target) {\n i.scrollLeft = e.target.scrollLeft;\n }\n });\n\n _this.setState({\n tableHorizontalScroll: e.target.scrollLeft\n }); // setState to update table header tooltip position\n\n };\n\n _this.handleTableMouseMoveOrWheelEvent = function (e) {\n _this.setCurrentScrollTarget(e.target);\n };\n\n _this.setCurrentScrollTarget = function (target) {\n var scrollTarget = _this.syncedElements.find(function (i) {\n return i.contains(target) || i === target;\n });\n\n if (_this.scrollTarget !== scrollTarget) {\n _this.scrollTarget = scrollTarget;\n }\n };\n\n _this.setScrollerDimensions = function () {\n if (!_this.scroller) {\n return;\n }\n\n var fixedXScroller = _this.props.fixedXScroller;\n var fixScrollerAtBottom = _this.state.fixScrollerAtBottom;\n var widthsContainer = _this.tableDowns;\n var scroller = _this.scroller;\n var scrollerPlaceholder = scroller.children[0]; // necessary for scroller position calculating\n\n var isScrollerAbsolute = !fixedXScroller || fixScrollerAtBottom; // if scroller is absolute or fixed positioned\n\n var containerBoundingClientRect = _this.table.getBoundingClientRect();\n\n var fixedLeft = containerBoundingClientRect.left;\n var fixedRight = containerBoundingClientRect.right;\n var tableWidth = containerBoundingClientRect.width; // if table has frozen columns, otherwise table has now 'left down widths'\n\n var widthFirst = 0;\n var widthRightMost = 0;\n\n if (widthsContainer[0]) {\n var cellsCols1 = widthsContainer[0].querySelectorAll('tbody tr:first-child td');\n widthFirst = [].reduce.call(cellsCols1, function (acc, current) {\n return acc + current.offsetWidth;\n }, 0);\n }\n\n var cellsCol2 = widthsContainer[1].querySelectorAll('tbody tr:first-child td');\n var widthLast = [].reduce.call(cellsCol2, function (acc, current) {\n return acc + current.offsetWidth;\n }, 0);\n\n if (widthsContainer[2]) {\n var cellsCols3 = widthsContainer[2].querySelectorAll('tbody tr:first-child td');\n widthRightMost = [].reduce.call(cellsCols3, function (acc, current) {\n return acc + current.offsetWidth;\n }, 0);\n } // Place x scrollbar right under the table. Otherwise fix it at the bottom of viewport.\n\n\n if (isScrollerAbsolute) {\n scroller.style.left = \"\".concat(widthFirst, \"px\");\n scroller.style.right = \"\".concat(widthRightMost, \"px\");\n } else {\n scroller.style.left = \"\".concat(fixedLeft + widthFirst, \"px\");\n scroller.style.right = \"\".concat(fixedRight + widthRightMost, \"px\");\n scroller.style.width = \"\".concat(tableWidth - widthFirst - widthRightMost, \"px\");\n }\n\n scrollerPlaceholder.style.width = \"\".concat(widthLast, \"px\");\n };\n\n _this.stickFixedScrollerToTable = function () {\n if (!_this.containerTable) {\n return;\n }\n\n var containerBoundingClientRect = _this.containerTable.getBoundingClientRect();\n\n var tableTop = containerBoundingClientRect.top;\n var tableHeight = containerBoundingClientRect.height;\n _this.scrollerBottom = _this.scrollerBottom || parseInt(window.getComputedStyle(_this.scroller).bottom, 10);\n var viewportHeight = window.innerHeight; // if table is scrolled up/down\n\n var isScrolledUp = viewportHeight - tableTop - tableHeight > _this.scrollerBottom;\n var isScrolledDown = tableTop > viewportHeight;\n\n if (isScrolledUp || isScrolledDown) {\n !_this.state.fixScrollerAtBottom && _this.setState({\n fixScrollerAtBottom: true\n });\n } else {\n _this.state.fixScrollerAtBottom && _this.setState({\n fixScrollerAtBottom: false\n });\n }\n };\n\n _this.getTableHeight = function (frozenRowsNumber) {\n var unsortedRowsNumber = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var skeletonsNumber = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n var addition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n return \"\".concat( // each unsorted gets thead height:\n _this.props.theadRowHeight * (1 + unsortedRowsNumber) + // frozenRowsNumber, when not equal to 0, contains unsorted rows number,\n // so here we are removing it, because it was already taken into account above:\n ((frozenRowsNumber ? frozenRowsNumber - unsortedRowsNumber : 0) + skeletonsNumber) * _this.props.tbodyRowHeight + addition, \"px\");\n };\n\n _this.getLoader = function (data, body) {\n var _this$props2 = _this.props,\n skeletonRowsNumber = _this$props2.skeletonRowsNumber,\n tbodyRowHeight = _this$props2.tbodyRowHeight,\n theadRowHeight = _this$props2.theadRowHeight;\n return data ? toConsumableArray(new Array(skeletonRowsNumber)).map(function (i, k) {\n return /*#__PURE__*/React__default.createElement(TableRow, {\n isSkeleton: true,\n data: data,\n body: body,\n tbodyRowHeight: tbodyRowHeight,\n theadRowHeight: theadRowHeight,\n key: k\n });\n }) : null;\n };\n\n _this.handleTheadOnMouseEnterLeave = function (tooltip) {\n return function () {\n return _this.setState({\n tooltip: tooltip\n });\n };\n };\n\n _this.renderTableHeaderRow = function (header, hoveredColIndex, fixedHeader) {\n var freezeColumns = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var freezeColumnsRight = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;\n var _this$props3 = _this.props,\n draggable = _this$props3.draggable,\n onDragEnd = _this$props3.onDragEnd,\n theadRowHeight = _this$props3.theadRowHeight;\n var sorting = _this.state.sorting;\n return /*#__PURE__*/React__default.createElement(\"thead\", null, /*#__PURE__*/React__default.createElement(TableHeaderRow, {\n header: header,\n sorting: sorting,\n onSortingChanged: _this.handleChangeSorting,\n draggable: draggable,\n onDragEnd: onDragEnd,\n hoveredColIndex: hoveredColIndex,\n theadRowHeight: theadRowHeight,\n handleTheadOnMouseEnterLeave: _this.handleTheadOnMouseEnterLeave,\n freezeColumns: freezeColumns,\n freezeColumnsRight: freezeColumnsRight,\n fixedHeader: fixedHeader\n }));\n };\n\n _this.setScrollProgress = function () {\n // if needed ref does not exist\n if (!_this.containerUp) {\n return;\n }\n\n var _this$props4 = _this.props,\n offsetTop = _this$props4.offsetTop,\n infiniteScroll = _this$props4.infiniteScroll,\n unsortedData = _this$props4.unsortedData,\n tbodyRowHeight = _this$props4.tbodyRowHeight;\n var totalItemsCount = _this.props.totalItemsCount;\n var freeze = _this.state.freeze;\n\n var containerUpTop = _this.containerUp.getBoundingClientRect().top;\n\n var containerDownTop = _this.containerDown.getBoundingClientRect().top; // part of table scrolled by means of window scroll\n // relative to sticky table element\n\n\n var scrolledUpPixels = containerUpTop - containerDownTop;\n var innerTableScroll = 0; // exists only with infiniteScroll\n\n if (infiniteScroll) {\n // infinite content is scrolled inside containerDown\n var infiniteContentTop = _this.containerDownRight.getBoundingClientRect().top;\n\n innerTableScroll = containerDownTop - infiniteContentTop;\n } // sum of 'window scrolled' and 'infinite scrolled' pixels\n\n\n var totalScrolledPixels = scrolledUpPixels + innerTableScroll; // count pixels that cannot be scrolled up (under sticky element),\n // due to not enough space under table\n\n var pixelsAfterTable = document.body.scrollHeight - (window.pageYOffset + _this.containerDown.getBoundingClientRect().bottom);\n\n var remainedUnScrolled = window.innerHeight - (offsetTop + _this.containerUp.offsetHeight + pixelsAfterTable);\n\n if (remainedUnScrolled < 0) {\n remainedUnScrolled = 0;\n }\n\n totalItemsCount = totalItemsCount || _this.props.data.length;\n var percent = totalScrolledPixels / ((totalItemsCount - (freeze.rows ? freeze.rows - unsortedData.length : 0)) * tbodyRowHeight - remainedUnScrolled) * 100;\n\n _this.setState({\n tableScrollProgress: percent\n });\n };\n\n _this.preventOverScroll = function (element) {\n element === null || element === void 0 ? void 0 : element.addEventListener('wheel', function (event) {\n var maxX = (element === null || element === void 0 ? void 0 : element.scrollWidth) - (element === null || element === void 0 ? void 0 : element.clientWidth);\n var position = element === null || element === void 0 ? void 0 : element.scrollLeft;\n\n if (position + event.deltaX > maxX || position + event.deltaX < 0) {\n event.preventDefault();\n }\n }, false);\n };\n\n _this.tableUps = [];\n _this.tableDowns = [];\n _this.syncedElements = [];\n _this.state = {\n paging: props.paging || null,\n sorting: props.sorting,\n contextMenu: null,\n fixScrollerAtBottom: true,\n freeze: {\n rows: props.freezeRows,\n columns: props.freezeColumns,\n columnsRight: props.lastColumnFrozen ? props.header.length - 1 : 0\n }\n };\n\n if (!props.server) {\n _this.state.data = props.data || [];\n }\n\n _this.handleChangeSorting = _this.handleChangeSorting.bind(assertThisInitialized(_this));\n return _this;\n }\n\n createClass(Table, [{\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this2 = this;\n\n var props = this.props;\n\n if (props.header.length !== prevProps.header.length) {\n this.setState({\n freeze: _objectSpread$9(_objectSpread$9({}, this.state.freeze), {}, {\n columnsRight: props.lastColumnFrozen ? props.header.length - 1 : 0\n })\n });\n }\n\n if (!props.server && (prevProps.data.length !== props.data.length || prevProps.data !== props.data)) {\n this.setState({\n data: props.data,\n paging: this.paging\n });\n } else if (props.sorting !== prevProps.sorting) {\n this.setState({\n sorting: props.sorting\n });\n } // update freeze if freezeColumns or freezeRows props have changed\n\n\n var isFreezeColsUpdatedThroughProps = this.props.freezeColumns !== prevProps.freezeColumns && this.props.freezeColumns !== this.state.freeze.columns;\n var isFreezeRowsUpdatedThroughProps = this.props.freezeRows !== prevProps.freezeRows && this.props.freezeRows !== this.state.freeze.rows;\n\n if (isFreezeColsUpdatedThroughProps || isFreezeRowsUpdatedThroughProps) {\n this.setState({\n freeze: {\n columns: isFreezeColsUpdatedThroughProps ? this.props.freezeColumns : this.state.freeze.columns,\n rows: isFreezeRowsUpdatedThroughProps ? this.props.freezeRows : this.state.freeze.rows\n }\n });\n }\n\n this.syncWidths();\n\n if (props.infiniteScroll) {\n setTimeout(this.setScrollerDimensions, 300);\n\n if (this.props.fixedXScroller) {\n this.stickFixedScrollerToTable();\n }\n } // @todo\n // this is a hack to overcome the problem of different scroll\n // horizontal positions of table's parts after its data completely replaced\n // (after switching to another table with another data, but without\n // unmounting current table component\n\n\n if (prevProps.data !== props.data && this.syncedElements.length > 1 && this.syncedElements.some(function (el) {\n return el.scrollLeft !== _this2.syncedElements[0].scrollLeft;\n })) {\n this.syncedElements.forEach(function (i) {\n if (i) {\n i.scrollLeft = 0;\n }\n });\n }\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.onTableChanged();\n this.syncWidths();\n this.onFontLoaded();\n\n if (this.props.infiniteScroll) {\n this.setScrollerDimensions();\n\n if (this.props.fixedXScroller) {\n this.stickFixedScrollerToTable();\n window.addEventListener('scroll', this.stickFixedScrollerToTable);\n }\n }\n\n window.addEventListener('resize', this.syncWidths);\n\n if (this.props.windowFreeResizeEvent) {\n this.iframe.contentWindow.addEventListener('resize', this.syncWidths);\n }\n\n this.setScrollProgress();\n window.addEventListener('scroll', this.setScrollProgress);\n\n if (this.props.infiniteScroll) {\n this.containerDown.addEventListener('scroll', this.setScrollProgress);\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n window.removeEventListener('resize', this.syncWidths);\n\n if (this.props.windowFreeResizeEvent) {\n this.iframe.contentWindow.removeEventListener('resize', this.syncWidths);\n }\n\n if (this.props.infiniteScroll && this.props.fixedXScroller) {\n window.removeEventListener('scroll', this.stickFixedScrollerToTable);\n }\n\n window.removeEventListener('scroll', this.setScrollProgress);\n }\n }, {\n key: \"handleChangeSorting\",\n value: function handleChangeSorting(data) {\n var _this3 = this;\n\n var sorting = this.state.sorting;\n this.syncedElements.forEach(function (i) {\n if (i) {\n i.scrollLeft = 0;\n }\n });\n this.setState({\n sorting: _objectSpread$9(_objectSpread$9({}, sorting), {}, {\n field: data.sortingKey,\n compareFunc: data.compareFunc ? data.compareFunc : null,\n direction: sorting.field === data.sortingKey ? sorting.direction === SORT_DIRECTION.ASC ? SORT_DIRECTION.DESC : SORT_DIRECTION.ASC : SORT_DIRECTION.ASC\n }),\n paging: this.paging\n }, function () {\n return _this3.onTableChanged();\n });\n }\n }, {\n key: \"paging\",\n get: function get() {\n return this.props.paging || this.state.paging;\n }\n }, {\n key: \"getData\",\n value: function getData() {\n var data = [];\n var sorting = this.state.sorting;\n var paging = this.paging;\n\n if (this.props.server) {\n return toConsumableArray(this.props.data);\n } else {\n data = this.state.data.slice(); // copy array\n }\n\n if (sorting) {\n if (sorting.compareFunc) {\n data.sort(sorting.compareFunc.bind(null, sorting.direction));\n } else {\n if (sorting.direction === SORT_DIRECTION.ASC) {\n data.sort(function (a, b) {\n return a[sorting.field] > b[sorting.field] ? 1 : -1;\n });\n } else {\n data.sort(function (a, b) {\n return a[sorting.field] < b[sorting.field] ? 1 : -1;\n });\n }\n }\n }\n\n if (!paging) {\n return data;\n }\n\n var activePage = paging.activePage,\n itemsCountPerPage = paging.itemsCountPerPage;\n return data.slice((activePage - 1) * itemsCountPerPage, itemsCountPerPage * activePage);\n }\n }, {\n key: \"renderBody\",\n value: function renderBody(data, body, freezeColumns) {\n var _this4 = this;\n\n if (!body || !body.length) {\n return null;\n }\n\n if (!this.props.infiniteScroll && this.props.loading) {\n return /*#__PURE__*/React__default.createElement(\"tr\", {\n className: \"table__loading\"\n }, /*#__PURE__*/React__default.createElement(\"td\", null, \"Loading...\"));\n }\n\n return data.map(function (i, k) {\n return _this4.renderBodyRow(i, k, body, freezeColumns);\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this5 = this;\n\n var _this$props5 = this.props,\n className = _this$props5.className,\n title = _this$props5.title,\n header = _this$props5.header,\n body = _this$props5.body,\n enableContextMenu = _this$props5.enableContextMenu,\n unsortedData = _this$props5.unsortedData,\n infiniteScroll = _this$props5.infiniteScroll,\n draggable = _this$props5.draggable,\n windowFreeResizeEvent = _this$props5.windowFreeResizeEvent,\n fixedXScroller = _this$props5.fixedXScroller,\n InfiniteScrollComponent = _this$props5.InfiniteScrollComponent,\n skeletonRowsNumber = _this$props5.skeletonRowsNumber,\n theadRowHeight = _this$props5.theadRowHeight,\n tableMaxHeight = _this$props5.tableMaxHeight,\n preventNavigationByScroll = _this$props5.preventNavigationByScroll;\n var offsetTop = this.props.offsetTop;\n var _this$state3 = this.state,\n contextMenu = _this$state3.contextMenu,\n fixScrollerAtBottom = _this$state3.fixScrollerAtBottom,\n hoveredColIndex = _this$state3.hoveredColIndex,\n freeze = _this$state3.freeze,\n tooltip = _this$state3.tooltip,\n tableHorizontalScroll = _this$state3.tableHorizontalScroll,\n tableScrollProgress = _this$state3.tableScrollProgress;\n var freezeRows = freeze.rows;\n var freezeColumns = freeze.columns;\n var freezeColumnsRight = freeze.columnsRight;\n if (!offsetTop && freezeRows > 0) offsetTop = 0;\n var data = this.getData();\n var unsortedDataLength = unsortedData && unsortedData.length || 0;\n\n if (unsortedDataLength) {\n unsortedData.forEach(function (i) {\n i.rowClassName = 'tr-unsorted';\n });\n data = [].concat(toConsumableArray(unsortedData), toConsumableArray(data));\n freezeRows = freeze.rows || unsortedDataLength;\n }\n\n var tableHeaderStyle = {};\n var tableContentHeaderStyle = {}; // if offsetTop is number\n\n var fixedHeader = !!(freezeRows || !isNaN(parseFloat(offsetTop)) && isFinite(offsetTop));\n\n if (fixedHeader) {\n tableHeaderStyle.top = \"\".concat(offsetTop, \"px\");\n\n if (this.tableHeaderElement.current) {\n tableContentHeaderStyle.top = \"\".concat(offsetTop + this.tableHeaderElement.current.getBoundingClientRect().height, \"px\");\n } else {\n tableContentHeaderStyle.top = \"\".concat(offsetTop, \"px\");\n }\n }\n\n var paging = this.paging; // when infinite-scroll table exists - check if it was ended up\n\n var skeletonsNumber = skeletonRowsNumber;\n\n if (InfiniteScrollComponent && !InfiniteScrollComponent.hasMore) {\n skeletonsNumber = 0;\n } // check if table has checkbox column @todo take in account case when className is set with function\n\n\n var hasTableCheckboxColumn = !!body.filter(function (i) {\n return typeof i.className === 'string' && i.className.indexOf('_checkbox') !== -1;\n }).length; // to update total checkbox when all or something checked/unchecked\n\n this.isAllSelected = data.length - unsortedDataLength === data.filter(function (i) {\n return i.rowClassName === '_selected';\n }).length;\n this.isSomeSelected = data.filter(function (i) {\n return i.rowClassName === '_selected';\n }).length > 0;\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(styles$f.container, \" \").concat(className || '', \" \").concat(draggable ? '_dnd' : '', \" table\"),\n ref: function ref(el) {\n _this5.table = el;\n }\n }, /*#__PURE__*/React__default.createElement(TableHeader, {\n title: title,\n fixedHeader: fixedHeader,\n innerRef: this.tableHeaderElement,\n style: tableHeaderStyle,\n paging: paging,\n onPerPageChanged: this.handlePerPageChange,\n onPaginationChanged: this.handlePageChange\n }), /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(styles$f.containerTable, \" \").concat(unsortedDataLength % 2 === 0 ? '' : '_odd-stripes'),\n ref: function ref(el) {\n _this5.containerTable = el;\n },\n onMouseMove: this.handleTableMouseMoveOrWheelEvent,\n onWheel: this.handleTableMouseMoveOrWheelEvent\n }, tooltip && /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$f.tooltipWrapper,\n style: _objectSpread$9({}, tableContentHeaderStyle)\n }, /*#__PURE__*/React__default.createElement(TableHeaderTooltip, {\n tooltip: tooltip,\n cellsWidths: this.cellsWidths,\n top: theadRowHeight,\n scrollLeft: tableHorizontalScroll,\n freezeColumns: freezeColumns\n })), fixedHeader && /*#__PURE__*/React__default.createElement(\"div\", {\n ref: function ref(el) {\n _this5.containerUp = el;\n },\n className: styles$f.containerUp,\n style: _objectSpread$9({}, tableContentHeaderStyle)\n }, !!freezeColumns && /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(styles$f.containerLeft),\n style: {\n height: this.getTableHeight(freeze.rows, unsortedDataLength)\n },\n ref: function ref(el) {\n _this5.addTableUps(el, 0);\n }\n }, /*#__PURE__*/React__default.createElement(\"table\", null, this.renderTableHeaderRow(header.slice(0, freezeColumns), hoveredColIndex < freezeColumns ? hoveredColIndex : undefined, fixedHeader), /*#__PURE__*/React__default.createElement(\"tbody\", null, this.renderBody(data.slice(0, freezeRows), body.slice(0, freezeColumns))))), /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(styles$f.containerRight),\n style: {\n height: this.getTableHeight(freeze.rows, unsortedDataLength)\n }\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(styles$f.containerRightScroller),\n style: {\n height: this.getTableHeight(freeze.rows, unsortedDataLength, 0, 20)\n },\n ref: function ref(el) {\n _this5.addTableUps(el, 1);\n\n _this5.addSyncedElement(el);\n\n if (preventNavigationByScroll) {\n _this5.preventOverScroll(el);\n }\n },\n onScroll: this.syncScroll\n }, /*#__PURE__*/React__default.createElement(\"table\", null, this.renderTableHeaderRow(freezeColumnsRight ? header.slice(freezeColumns, freezeColumnsRight) : header.slice(freezeColumns), hoveredColIndex >= freezeColumns ? hoveredColIndex - freezeColumns : undefined, fixedHeader, freezeColumns), !!freezeRows && /*#__PURE__*/React__default.createElement(\"tbody\", null, this.renderBody(data.slice(0, freezeRows), freezeColumnsRight ? body.slice(freezeColumns, freezeColumnsRight) : body.slice(freezeColumns), freezeColumns))))), !!freezeColumnsRight && /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(styles$f.containerRightMost),\n style: {\n height: this.getTableHeight(freeze.rows, unsortedDataLength)\n },\n ref: function ref(el) {\n _this5.addTableUps(el, 2);\n }\n }, /*#__PURE__*/React__default.createElement(\"table\", null, this.renderTableHeaderRow(header.slice(freezeColumnsRight), hoveredColIndex >= freezeColumnsRight ? hoveredColIndex - freezeColumns : undefined, fixedHeader, 0, freezeColumnsRight), /*#__PURE__*/React__default.createElement(\"tbody\", null, this.renderBody(data.slice(0, freezeRows), body.slice(freezeColumnsRight))))), tableScrollProgress !== undefined && /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"table-progress-bar \".concat(styles$f.containerTableProgress),\n style: {\n height: '4px',\n top: \"\".concat(theadRowHeight * (unsortedDataLength ? 2 : 1) - 2, \"px\"),\n backgroundImage: \"linear-gradient(90deg,\\n #7a93ff \".concat(this.state.tableScrollProgress, \"%,\\n rgb(0, 0, 0, 0.1) \").concat(this.state.tableScrollProgress, \"%\\n )\"),\n right: \"\".concat(window.innerWidth - this.tableDowns[this.tableDowns.length - 1].getBoundingClientRect().right - 16, \"px\")\n }\n })), /*#__PURE__*/React__default.createElement(\"div\", {\n ref: function ref(el) {\n _this5.containerDown = el;\n },\n className: \"\".concat(styles$f.containerDown),\n style: {\n marginTop: fixedHeader ? \"-\".concat(this.getTableHeight(freeze.rows, unsortedDataLength)) : '',\n maxHeight: infiniteScroll ? tableMaxHeight || '100vh' : tableMaxHeight || '',\n width: this.containerDown && this.containerDown.scrollHeight > this.containerDown.clientHeight ? \"calc(100% + \".concat(this.containerDown.offsetWidth - this.containerDown.clientWidth, \"px)\") : '100%'\n }\n }, !!freezeColumns && /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(styles$f.containerLeft),\n ref: function ref(el) {\n _this5.addTableDowns(el, 0);\n }\n }, /*#__PURE__*/React__default.createElement(\"table\", null, this.renderTableHeaderRow(header.slice(0, freezeColumns), !fixedHeader && hoveredColIndex < freezeColumns ? hoveredColIndex : undefined, fixedHeader), !infiniteScroll ? /*#__PURE__*/React__default.createElement(\"tbody\", null, this.renderBody(data, body.slice(0, freezeColumns))) : /*#__PURE__*/React__default.createElement(reactInfiniteScroller, _extends_1({}, InfiniteScrollComponent, {\n element: \"tbody\",\n getScrollParent: function getScrollParent(el) {\n return el && el.closest(\".\".concat(styles$f.containerDown));\n },\n loader: this.getLoader(data[0], body.slice(0, freezeColumns))\n }), this.renderBody(data, body.slice(0, freezeColumns))))), /*#__PURE__*/React__default.createElement(\"div\", {\n ref: function ref(el) {\n _this5.containerDownRight = el;\n },\n className: \"\".concat(styles$f.containerRight),\n style: {\n height: infiniteScroll ? this.getTableHeight(data.length, unsortedDataLength, skeletonsNumber) : ''\n }\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(styles$f.containerRightScroller),\n style: {\n height: infiniteScroll ? this.getTableHeight(data.length, unsortedDataLength, skeletonsNumber, 20) : ''\n },\n ref: function ref(el) {\n _this5.addTableDowns(el, 1);\n\n _this5.addSyncedElement(el);\n\n if (preventNavigationByScroll) {\n _this5.preventOverScroll(el);\n }\n },\n onScroll: this.syncScroll\n }, /*#__PURE__*/React__default.createElement(\"table\", null, this.renderTableHeaderRow(freezeColumnsRight ? header.slice(freezeColumns, freezeColumnsRight) : header.slice(freezeColumns), !fixedHeader && hoveredColIndex >= freezeColumns ? hoveredColIndex - freezeColumns : undefined, fixedHeader, freezeColumns), !infiniteScroll ? /*#__PURE__*/React__default.createElement(\"tbody\", null, this.renderBody(data, freezeColumnsRight ? body.slice(freezeColumns, freezeColumnsRight) : body.slice(freezeColumns), freezeColumns)) : /*#__PURE__*/React__default.createElement(reactInfiniteScroller, _extends_1({}, InfiniteScrollComponent, {\n element: \"tbody\",\n getScrollParent: function getScrollParent(el) {\n return el && el.closest(\".\".concat(styles$f.containerDown));\n },\n loader: this.getLoader(data[0], freezeColumnsRight ? body.slice(freezeColumns, freezeColumnsRight) : body.slice(freezeColumns))\n }), this.renderBody(data, freezeColumnsRight ? body.slice(freezeColumns, freezeColumnsRight) : body.slice(freezeColumns), freezeColumns))))), !!freezeColumnsRight && /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$f.containerRightMost,\n ref: function ref(el) {\n _this5.addTableDowns(el, 2);\n }\n }, /*#__PURE__*/React__default.createElement(\"table\", null, this.renderTableHeaderRow(header.slice(freezeColumnsRight), !fixedHeader && hoveredColIndex < freezeColumns ? hoveredColIndex : undefined, fixedHeader), !infiniteScroll ? /*#__PURE__*/React__default.createElement(\"tbody\", null, this.renderBody(data, body.slice(freezeColumnsRight))) : /*#__PURE__*/React__default.createElement(reactInfiniteScroller, _extends_1({}, InfiniteScrollComponent, {\n element: \"tbody\",\n getScrollParent: function getScrollParent(el) {\n return el && el.closest(\".\".concat(styles$f.containerDown));\n },\n loader: this.getLoader(data[0], body.slice(freezeColumnsRight))\n }), this.renderBody(data, body.slice(freezeColumnsRight)))))), infiniteScroll && /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(styles$f.scroller, \" \").concat(fixedXScroller && !fixScrollerAtBottom ? '_fixed' : ''),\n ref: function ref(el) {\n _this5.scroller = el;\n\n _this5.addSyncedElement(el);\n },\n onScroll: this.syncScroll\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(styles$f.scrollerPlaceholder)\n })), windowFreeResizeEvent && /*#__PURE__*/React__default.createElement(\"iframe\", {\n ref: function ref(el) {\n _this5.iframe = el;\n },\n className: styles$f.iframe\n }), contextMenu && enableContextMenu && /*#__PURE__*/React__default.createElement(TableContextMenu, _extends_1({}, contextMenu, {\n onClose: function onClose() {\n return _this5.setState({\n contextMenu: null\n });\n },\n onFreezeRow: this.handleFreezeRow,\n onFreezeColumn: this.handleFreezeColumn,\n unsortedDataLength: unsortedDataLength,\n hasTableCheckboxColumn: hasTableCheckboxColumn\n }))));\n }\n }]);\n\n return Table;\n}(Component);\nTable.defaultProps = {\n paging: null,\n header: [],\n body: [],\n server: false,\n loading: false,\n fixedHeader: false,\n sorting: {\n field: null,\n direction: null\n },\n rowClickHandler: function rowClickHandler() {},\n enableContextMenu: true,\n freezeRows: 0,\n freezeColumns: 0,\n lastColumnFrozen: false,\n infiniteScroll: false,\n draggable: false,\n onDragEnd: function onDragEnd() {},\n windowFreeResizeEvent: false,\n fixedXScroller: false,\n skeletonRowsNumber: 5,\n tbodyRowHeight: DEFAULT_CELL_HEIGHT,\n theadRowHeight: DEFAULT_CELL_HEIGHT,\n preventNavigationByScroll: false\n};\nTable.propTypes = {\n className: PropTypes__default.string,\n title: PropTypes__default.string,\n data: PropTypes__default.array.isRequired,\n rowKeyExtractor: PropTypes__default.func.isRequired,\n server: PropTypes__default.bool,\n loading: PropTypes__default.bool,\n onChange: PropTypes__default.func,\n fixedHeader: PropTypes__default.bool,\n offsetTop: PropTypes__default.number,\n header: tablePropTypes.header,\n sorting: tablePropTypes.sorting,\n body: tablePropTypes.body,\n paging: tablePropTypes.paging,\n rowClickHandler: PropTypes__default.func,\n enableContextMenu: PropTypes__default.bool,\n unsortedData: PropTypes__default.array,\n freezeRows: PropTypes__default.number,\n freezeColumns: PropTypes__default.number,\n lastColumnFrozen: PropTypes__default.bool,\n infiniteScroll: PropTypes__default.bool,\n InfiniteScrollComponent: PropTypes__default.shape({\n loadMore: PropTypes__default.func,\n hasMore: PropTypes__default.bool,\n pageStart: PropTypes__default.number,\n useWindow: PropTypes__default.bool\n }),\n skeletonRowsNumber: PropTypes__default.number,\n draggable: PropTypes__default.bool,\n onDragEnd: PropTypes__default.func,\n freezeUpdateHandler: PropTypes__default.func,\n windowFreeResizeEvent: PropTypes__default.bool,\n fixedXScroller: PropTypes__default.bool,\n tbodyRowHeight: PropTypes__default.number,\n theadRowHeight: PropTypes__default.number,\n totalItemsCount: PropTypes__default.number,\n tableMaxHeight: PropTypes__default.string,\n preventNavigationByScroll: PropTypes__default.bool\n};\n\nvar defaultSubmit = function defaultSubmit(e) {\n return e.preventDefault();\n};\n\nvar Form = function Form(_ref) {\n var title = _ref.title,\n className = _ref.className,\n _ref$onSubmit = _ref.onSubmit,\n onSubmit = _ref$onSubmit === void 0 ? defaultSubmit : _ref$onSubmit,\n children = _ref.children;\n return /*#__PURE__*/React__default.createElement(\"form\", {\n className: \"form \".concat(className || ''),\n onSubmit: onSubmit\n }, /*#__PURE__*/React__default.createElement(\"h3\", {\n className: \"title-form form__header\"\n }, title), /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"form__content\"\n }, children));\n};\n\nfunction _createSuper$y(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$y(); return function _createSuperInternal() { var Super = getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$y() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar Collapse = /*#__PURE__*/function (_PureComponent) {\n inherits(Collapse, _PureComponent);\n\n var _super = _createSuper$y(Collapse);\n\n function Collapse(props) {\n var _this;\n\n classCallCheck(this, Collapse);\n\n _this = _super.call(this, props);\n\n _this.handleToggle = function () {\n _this.setState(function (state) {\n return {\n isOpened: !state.isOpened\n };\n });\n };\n\n _this.state = {\n isOpened: false\n };\n return _this;\n }\n\n createClass(Collapse, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n _this$props$className = _this$props.className,\n className = _this$props$className === void 0 ? '' : _this$props$className,\n title = _this$props.title,\n children = _this$props.children;\n var isOpened = this.state.isOpened;\n var classes = ['collapse', className];\n\n if (isOpened) {\n classes.push('collapse_opened');\n }\n\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: classes.join(' ')\n }, /*#__PURE__*/React__default.createElement(\"button\", {\n className: \"collapse__btn\",\n onClick: this.handleToggle\n }, /*#__PURE__*/React__default.createElement(Icon, {\n name: \"Right\",\n className: \"collapse__icon\",\n viewBox: \"4 4 14 14\"\n }), title), /*#__PURE__*/React__default.createElement(\"div\", {\n className: 'collapse__content'\n }, isOpened && children));\n }\n }]);\n\n return Collapse;\n}(PureComponent);\nCollapse.propTypes = {\n className: PropTypes__default.string,\n title: PropTypes__default.oneOfType([PropTypes__default.string, PropTypes__default.element])\n};\n\nfunction _createSuper$z(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$z(); return function _createSuperInternal() { var Super = getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$z() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nvar EditableText = /*#__PURE__*/function (_React$PureComponent) {\n inherits(EditableText, _React$PureComponent);\n\n var _super = _createSuper$z(EditableText);\n\n function EditableText(props) {\n var _this;\n\n classCallCheck(this, EditableText);\n\n _this = _super.call(this, props);\n\n _this.handleChange = function (value, validationErrors) {\n var type = _this.state.type;\n\n if (type === 'amount') {\n var i = 0;\n value = value.replace(/[^0-9.]+/g, '').replace(/\\./g, function (match) {\n i++;\n return i === 2 ? '' : match;\n });\n } else if (type === 'date') {\n var _i = 0;\n value = value.replace(/[^0-9/]+/g, '').replace(/\\//g, function (match) {\n _i++;\n return _i === 3 ? '' : match;\n });\n }\n\n _this.setState({\n value: _this.props.onChange ? _this.props.onChange(value) : value,\n validationErrors: validationErrors\n });\n };\n\n _this.handleBlur = function () {\n var _this$state = _this.state,\n defaultValue = _this$state.defaultValue,\n value = _this$state.value,\n validationErrors = _this$state.validationErrors;\n\n if (value.trim() && defaultValue !== value && !validationErrors) {\n _this.handleShowPopup();\n } else {\n _this.setState({\n value: defaultValue\n });\n }\n };\n\n _this.handleSubmit = function (e) {\n var _this$state2 = _this.state,\n defaultValue = _this$state2.defaultValue,\n value = _this$state2.value,\n type = _this$state2.type,\n validationErrors = _this$state2.validationErrors;\n var allowedEmptyValue = _this.props.allowedEmptyValue;\n e.preventDefault();\n\n if (!value.trim() && !allowedEmptyValue || defaultValue === value || validationErrors) {\n return;\n }\n\n if (type === 'date') {\n var dateRegex = /\\d{1,2}\\/\\d{1,2}\\/20\\d{2}/g;\n\n if (value !== defaultValue && dateRegex.test(value) && (_this.props.isValid ? _this.props.isValid(value, defaultValue) : true)) {\n _this.handleShowPopup();\n }\n } else {\n _this.handleShowPopup();\n }\n };\n\n _this.handleShowPopup = function () {\n var _this$props$Popup = _this.props.Popup,\n remember = _this$props$Popup.remember,\n storageKey = _this$props$Popup.storageKey;\n\n if (remember && JSON.parse(window.localStorage.getItem(storageKey))) {\n _this.onConfirm();\n\n return;\n }\n\n _this.setState({\n showPopup: true\n });\n };\n\n _this.handleClosePopup = function () {\n _this.setState({\n showPopup: false\n });\n };\n\n _this.handleCancel = function (e) {\n _this.onCancel(e);\n };\n\n _this.handleConfirm = function () {\n if (_this.state.remember && _this.props.Popup.storageKey) {\n window.localStorage.setItem(_this.props.Popup.storageKey, JSON.stringify(true));\n }\n\n _this.onConfirm();\n };\n\n _this.onCancel = function (e) {\n var defaultValue = _this.state.defaultValue;\n\n _this.setState({\n value: defaultValue\n }, _this.handleClosePopup);\n\n _this.props.cancel && _this.props.cancel(_this.state.defaultValue, e);\n };\n\n _this.onConfirm = function () {\n if (_this.props.confirm) {\n var oldValue = _this.state.value;\n\n _this.setState({\n value: _this.props.value\n }, function () {\n return _this.props.confirm(oldValue, _this.state.defaultValue);\n });\n }\n\n _this.handleClosePopup();\n };\n\n _this.handleChangeRemember = function (value) {\n _this.setState({\n remember: value\n });\n };\n\n _this.getFooterLeft = function () {\n var _this$props$Popup2 = _this.props.Popup,\n remember = _this$props$Popup2.remember,\n actionsHelp = _this$props$Popup2.actionsHelp;\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"d-flex flex-row align-items-center justify-content-between\"\n }, remember ? /*#__PURE__*/React__default.createElement(Checkbox, {\n className: \"mr-3\",\n label: \"Don't ask me again\",\n checked: _this.state.remember,\n onChange: _this.handleChangeRemember\n }) : null, actionsHelp ? /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"d-flex\"\n }, actionsHelp) : null);\n };\n\n _this.renderPopup = function () {\n var _this$props$Popup3 = _this.props.Popup,\n title = _this$props$Popup3.title,\n modalProps = _this$props$Popup3.modalProps;\n var _this$state3 = _this.state,\n defaultValue = _this$state3.defaultValue,\n value = _this$state3.value;\n return /*#__PURE__*/createPortal( /*#__PURE__*/React__default.createElement(Dialog, {\n open: true,\n onClickOutside: _this.handleCancel,\n modalProps: modalProps,\n dialogTitle: title,\n crossButton: false,\n footerLeft: _this.getFooterLeft(),\n actionButtons: [{\n variant: \"secondary\",\n title: \"Cancel\",\n className: \"mr-2\",\n handler: _this.handleCancel\n }, {\n title: \"Apply\",\n handler: _this.handleConfirm\n }]\n }, isFunction$1(_this.props.children) ? _this.props.children(defaultValue, value) : _this.props.children), _this.props.Popup.appendTo || document.body);\n };\n\n _this.state = {\n defaultValue: (props.value || '').toString(),\n value: (props.value || '').toString(),\n showPopup: false,\n remember: false,\n type: props.type || 'text'\n };\n return _this;\n }\n\n createClass(EditableText, [{\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (prevProps.value !== this.props.value) {\n this.setState({\n defaultValue: this.props.value,\n value: this.props.value\n });\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props = this.props,\n propsValue = _this$props.value,\n validationRules = _this$props.validationRules,\n allowedEmptyValue = _this$props.allowedEmptyValue,\n hasBorder = _this$props.hasBorder,\n label = _this$props.label;\n var _this$state4 = this.state,\n value = _this$state4.value,\n showPopup = _this$state4.showPopup,\n validationErrors = _this$state4.validationErrors;\n var iconEl = (value.trim() || allowedEmptyValue) && \"\".concat(propsValue) !== \"\".concat(value) && !validationErrors ? /*#__PURE__*/React__default.createElement(Icon, {\n name: \"Done\"\n }) : null;\n return /*#__PURE__*/React__default.createElement(\"form\", {\n className: \"editable-text \".concat(hasBorder ? '_has-border' : '', \" \").concat(this.props.className || ''),\n onSubmit: this.handleSubmit,\n ref: function ref() {\n _this2.props.innerRef && _this2.props.innerRef(_this2);\n }\n }, /*#__PURE__*/React__default.createElement(TextField, {\n noBorder: !hasBorder,\n value: value,\n validationRules: validationRules,\n onChange: this.handleChange,\n onBlur: this.handleBlur,\n inputRef: function inputRef(el) {\n _this2.props.inputRef && _this2.props.inputRef(el);\n },\n label: label\n }), iconEl, showPopup && this.renderPopup());\n }\n }]);\n\n return EditableText;\n}(React__default.PureComponent);\nEditableText.defaultProps = {\n confirm: function confirm() {},\n cancel: function cancel() {},\n Popup: {\n title: '',\n remember: false,\n storageKey: ''\n }\n};\nEditableText.propTypes = {\n type: PropTypes__default.string,\n value: PropTypes__default.oneOfType([PropTypes__default.string, PropTypes__default.number]),\n confirm: PropTypes__default.func,\n cancel: PropTypes__default.func,\n Popup: PropTypes__default.shape({\n title: PropTypes__default.oneOfType([PropTypes__default.element, PropTypes__default.elementType]),\n remember: PropTypes__default.bool,\n storageKey: PropTypes__default.string,\n appendTo: PropTypes__default.instanceOf(window.HTMLElement),\n actions: PropTypes__default.func,\n actionsHelp: PropTypes__default.element,\n modalProps: PropTypes__default.object\n }),\n innerRef: PropTypes__default.func,\n onChange: PropTypes__default.func,\n isValid: PropTypes__default.func,\n validationRules: PropTypes__default.array,\n allowedEmptyValue: PropTypes__default.bool,\n hasBorder: PropTypes__default.bool,\n label: PropTypes__default.string\n};\n\nfunction _createSuper$A(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$A(); return function _createSuperInternal() { var Super = getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$A() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar PADDING_STEP$1 = 20;\nvar SelectList = /*#__PURE__*/function (_Component) {\n inherits(SelectList, _Component);\n\n var _super = _createSuper$A(SelectList);\n\n function SelectList(props) {\n var _this;\n\n classCallCheck(this, SelectList);\n\n _this = _super.call(this, props);\n _this._selectList = null;\n\n _this.handleChangeSearch = function (value) {\n _this.setState({\n search: value\n });\n };\n\n _this.toggleTumbler = function () {\n _this.props.onTumblerChange();\n };\n\n _this.handleSelectedOption = function (item) {\n return function (e) {\n var _this$props = _this.props,\n isMulti = _this$props.isMulti,\n withTabs = _this$props.withTabs;\n var _this$state = _this.state,\n stateOfOptions = _this$state.stateOfOptions,\n tabsModeIsInclude = _this$state.tabsModeIsInclude;\n\n if (withTabs) {\n if (!item.isActive) {\n item = Object.assign(item, tabsModeIsInclude ? {\n included: true\n } : {\n excluded: true\n });\n }\n }\n\n var newState = updateStateOfOptions(stateOfOptions, item, isMulti);\n\n _this.setStateOptions(newState, item);\n };\n };\n\n _this.onSortStart = function () {\n _this.setState({\n isSorting: true\n });\n };\n\n _this.onSortEnd = function (_ref) {\n var oldIndex = _ref.oldIndex,\n newIndex = _ref.newIndex;\n var newValues = moveItem(_this.state.stateOfOptions, oldIndex, newIndex);\n\n _this.setStateOptions(newValues);\n\n _this.setState({\n targetDropIndex: null,\n startDragIndex: null,\n isSorting: false\n });\n };\n\n _this.renderItem = function (item, i) {\n var _this$props2 = _this.props,\n levelPadding = _this$props2.levelPadding,\n withTabs = _this$props2.withTabs;\n var tabsModeIsInclude = _this.state.tabsModeIsInclude;\n var additionalProps = {\n style: {}\n };\n var padd = (item.deep || 0) * (levelPadding || PADDING_STEP$1);\n\n if (padd !== 0) {\n additionalProps.style.paddingLeft = padd;\n }\n\n if (!item.isGroupHeader && !item.alwaysEnabled) {\n additionalProps.onClick = _this.handleSelectedOption(item);\n } // to make clickable group header bold the checking is needed:\n // - if option is not a child of other option and have its own children\n // - and also if no reactLabel is used since it has its own markup\n\n\n var isClickableGroupHeader = !item.reactLabel && item.deep === 0 && item.options && item.options.length;\n var isActive = item.isActive,\n included = item.included,\n excluded = item.excluded;\n var isDisable = false;\n\n if (withTabs) {\n isDisable = tabsModeIsInclude ? !!excluded : !!included;\n }\n\n var className = getItemClasses(item, {\n isActive: isActive,\n isDisable: isDisable\n });\n\n if (isClickableGroupHeader) {\n className += ' _clickable-header';\n }\n\n return /*#__PURE__*/React__default.createElement(\"div\", _extends_1({\n key: item.value !== undefined ? item.value : i,\n className: className\n }, additionalProps), /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"select__option-label\"\n }, item.labelImageSrc && /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"select__option-image\"\n }, /*#__PURE__*/React__default.createElement(WithErrorPlaceholderImage, {\n src: item.labelImageSrc\n })), item.reactLabel || item.label));\n };\n\n _this.renderList = function (resultOptions) {\n var res = [];\n\n var cb = function cb(item) {\n return res.push(item);\n };\n\n traverseState(resultOptions, cb);\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"select__list\",\n ref: function ref(el) {\n _this._selectList = el;\n }\n }, res.map(function (item, i) {\n return _this.renderItem(item, i);\n }));\n };\n\n _this.renderButton = function () {\n var buttonProps = _this.props.buttonProps;\n\n if (buttonProps) {\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"w-100 d-flex justify-content-center\"\n }, /*#__PURE__*/React__default.createElement(Button, {\n className: buttonProps.className || 'btn-round _conflower-blue mt-3 mb-3',\n onClick: buttonProps.onClick\n }, !!buttonProps.symbolBeforeLabel && /*#__PURE__*/React__default.createElement(\"span\", {\n className: \"btn-round__prefix\"\n }, buttonProps.symbolBeforeLabel), buttonProps.label || 'New'));\n }\n\n return null;\n };\n\n _this.state = {\n search: '',\n tumblerIsActive: props.tumblerIsActive,\n withGroups: props.options.some(function (item) {\n return item.isGroupHeader;\n }),\n stateOfOptions: makeStateOfOptions(props.options, props.value),\n isSorting: false,\n tabsModeIsInclude: true\n };\n return _this;\n }\n\n createClass(SelectList, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps, nextState) {\n return !(isEqual(['value', 'options', 'isMulti', 'isSearchable', 'onChange', 'tumbler', 'onTumblerChange', 'labelImageSrc', 'reactLabel', 'className', 'searchLabel', 'searchPlaceholder', 'getSearchInputHandler'], this.props, nextProps) && isEqual(['search', 'stateOfOptions', 'tumblerIsActive', 'targetDropIndex', 'startDragIndex', 'isSorting', 'tabsModeIsInclude'], this.state, nextState));\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var getSearchInputHandler = this.props.getSearchInputHandler;\n\n if (getSearchInputHandler) {\n getSearchInputHandler(this.handleChangeSearch);\n }\n\n window.addEventListener('click', this.windowClickHandler);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n if (!isEqual(['value', 'options', 'isMulti'], this.props, prevProps) || !isEqual(['isSorting'], this.state, prevState)) {\n this.setState({\n withGroups: this.props.options.some(function (item) {\n return item.isGroupHeader;\n }),\n stateOfOptions: makeStateOfOptions(this.props.options, this.props.value)\n });\n }\n\n if (prevProps.tumblerIsActive !== this.props.tumblerIsActive) {\n this.setState({\n tumblerIsActive: this.props.tumblerIsActive\n });\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n window.removeEventListener('click', this.windowClickHandler);\n }\n }, {\n key: \"setStateOptions\",\n value: function setStateOptions(state, item, fromDeselectedAll) {\n if (this.props.onChange) {\n var values = [];\n\n var callback = function callback(item) {\n if (item.isActive) values.push(item);\n };\n\n traverseState(state, callback);\n\n if (!this.props.isMulti) {\n values = values.length ? values[0] : null;\n } // add fromDeselectedAll for lazyLoad select\n\n\n this.props.onChange(normalizeValue(values), item, fromDeselectedAll);\n }\n\n this.setState({\n stateOfOptions: state\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props3 = this.props,\n className = _this$props3.className,\n isMulti = _this$props3.isMulti,\n tumbler = _this$props3.tumbler,\n tumblerLabel = _this$props3.tumblerLabel,\n isSearchable = _this$props3.isSearchable,\n changeSearchHandler = _this$props3.changeSearchHandler,\n withTabs = _this$props3.withTabs,\n searchLabel = _this$props3.searchLabel,\n searchPlaceholder = _this$props3.searchPlaceholder,\n getSearchInputHandler = _this$props3.getSearchInputHandler,\n searchByValue = _this$props3.searchByValue;\n var _this$state2 = this.state,\n search = _this$state2.search,\n tumblerIsActive = _this$state2.tumblerIsActive,\n withGroups = _this$state2.withGroups,\n isSorting = _this$state2.isSorting,\n stateOfOptions = _this$state2.stateOfOptions;\n\n if (!stateOfOptions) {\n return null;\n }\n\n var resultOptions = stateOfOptions;\n\n if (isSearchable || getSearchInputHandler) {\n resultOptions = filterItems(stateOfOptions, search, searchByValue);\n }\n\n if (resultOptions.length === 0 && !isSearchable) {\n return null;\n }\n\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"select _opened js-select \".concat(isSorting ? '_sorting' : '', \" \").concat(withGroups ? '_with-groups' : '', \" \").concat(className || ''),\n ref: function ref(el) {\n _this2.select = el;\n }\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"select__outer-wrapper\"\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"select__wrapper\"\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"select__list-wrapper\"\n }, withTabs && isMulti && this.renderTabs(), isSearchable && /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"select__list-input-wrapper\"\n }, /*#__PURE__*/React__default.createElement(TextField, {\n iconName: \"Search\" // inputRef={el => { this.searchInput = el; }}\n ,\n label: searchLabel,\n placeholder: searchPlaceholder || 'Search',\n value: changeSearchHandler ? undefined : search,\n onChange: changeSearchHandler || this.handleChangeSearch,\n withBorder: true\n })), this.renderButton(), tumbler && /*#__PURE__*/React__default.createElement(Tumbler, {\n className: \"select__tumbler\",\n onChange: this.toggleTumbler,\n on: tumblerIsActive,\n title: tumblerLabel || 'Show groups'\n }), this.renderList(resultOptions)))));\n }\n }]);\n\n return SelectList;\n}(Component);\nSelectList.propTypes = {\n options: PropTypes__default.array,\n value: PropTypes__default.any,\n onChange: PropTypes__default.func,\n isMulti: PropTypes__default.bool,\n tumblerIsActive: PropTypes__default.bool,\n tumbler: PropTypes__default.bool,\n onTumblerChange: PropTypes__default.func,\n reactLabel: PropTypes__default.elementType,\n labelImageSrc: PropTypes__default.string,\n tumblerLabel: PropTypes__default.string,\n isSearchable: PropTypes__default.bool,\n searchByValue: PropTypes__default.bool,\n className: PropTypes__default.string,\n levelPadding: PropTypes__default.number,\n changeSearchHandler: PropTypes__default.func,\n buttonProps: PropTypes__default.exact({\n label: PropTypes__default.string,\n className: PropTypes__default.string,\n onClick: PropTypes__default.func,\n symbolBeforeLabel: PropTypes__default.string\n }),\n withTabs: PropTypes__default.bool,\n searchLabel: PropTypes__default.string,\n searchPlaceholder: PropTypes__default.string,\n getSearchInputHandler: PropTypes__default.func\n};\n\nvar css_248z$h = \":root {\\n --primary1: #123787;\\n --primary2: #1d58d7;\\n --primary3: #5173fb;\\n --primary4: #7a93ff;\\n --primary5: #c2d0ff;\\n --primary6: #e5ebff;\\n --primary7: #f2f5ff; }\\n\\n@keyframes block-module_hover-ripples__3skDp {\\n 0% {\\n top: -0.1875em;\\n left: -0.1875em;\\n right: -0.1875em;\\n bottom: -0.1875em;\\n opacity: 1; }\\n 100% {\\n top: -0.8125em;\\n left: -0.8125em;\\n right: -0.8125em;\\n bottom: -0.8125em;\\n opacity: 0; } }\\n\\n.block-module_block__3u3oe {\\n display: flex;\\n flex-direction: column;\\n align-items: stretch;\\n padding: .5rem 1rem;\\n border-radius: .25rem;\\n background: #f4f4f4; }\\n\\n.block-module_remove__1zRqd {\\n align-self: flex-end;\\n margin-bottom: 1rem;\\n margin-right: -.25rem; }\\n\";\nvar styles$g = {\"block\":\"block-module_block__3u3oe\",\"remove\":\"block-module_remove__1zRqd\",\"hover-ripples\":\"block-module_hover-ripples__3skDp\"};\nstyleInject(css_248z$h);\n\nfunction _createSuper$B(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$B(); return function _createSuperInternal() { var Super = getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$B() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar BlockRemove = function BlockRemove(_ref) {\n var _ref$onRemoveClick = _ref.onRemoveClick,\n onRemoveClick = _ref$onRemoveClick === void 0 ? function () {} : _ref$onRemoveClick;\n return /*#__PURE__*/React__default.createElement(ButtonCircle, {\n iconName: \"Close\",\n className: styles$g.remove,\n onClick: onRemoveClick\n });\n};\nvar Block = function Block(_ref2) {\n var _ref2$className = _ref2.className,\n className = _ref2$className === void 0 ? '' : _ref2$className,\n children = _ref2.children;\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(styles$g.block, \" \").concat(className)\n }, children);\n};\nvar ParamsBlock = /*#__PURE__*/function (_React$Component) {\n inherits(ParamsBlock, _React$Component);\n\n var _super = _createSuper$B(ParamsBlock);\n\n function ParamsBlock() {\n var _this;\n\n classCallCheck(this, ParamsBlock);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.state = {\n isActive: false\n };\n\n _this.handleOnClick = function () {\n var onClick = _this.props.onClick;\n var isActive = _this.state.isActive;\n\n _this.setState({\n isActive: !isActive\n });\n\n if (onClick) {\n onClick();\n }\n };\n\n return _this;\n }\n\n createClass(ParamsBlock, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n _this$props$className = _this$props.className,\n className = _this$props$className === void 0 ? '' : _this$props$className,\n title = _this$props.title,\n list = _this$props.list;\n var isActive = this.state.isActive;\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(styles$g.paramsBlock, \" \").concat(isActive ? '_active' : '', \" \").concat(className),\n onClick: this.handleOnClick\n }, /*#__PURE__*/React__default.createElement(\"header\", {\n className: styles$g.paramsBlockHeader\n }, /*#__PURE__*/React__default.createElement(\"h4\", {\n className: styles$g.paramsBlockTitle\n }, title)), /*#__PURE__*/React__default.createElement(\"ul\", {\n className: styles$g.paramsBlockList\n }, list.map(function (i) {\n return /*#__PURE__*/React__default.createElement(\"li\", {\n className: styles$g.paramsBlockItem,\n key: i.label,\n style: {\n minWidth: \"100 / \".concat(list.length, \"%\")\n }\n }, /*#__PURE__*/React__default.createElement(\"span\", {\n className: styles$g.paramsBlockLabel\n }, i.label), /*#__PURE__*/React__default.createElement(\"span\", {\n className: styles$g.paramsBlockValue\n }, i.value));\n })));\n }\n }]);\n\n return ParamsBlock;\n}(React__default.Component);\nvar DateBlock = function DateBlock(_ref3) {\n var _ref3$className = _ref3.className,\n className = _ref3$className === void 0 ? '' : _ref3$className,\n date = _ref3.date;\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(styles$g.dateBlock, \" \").concat(className)\n }, /*#__PURE__*/React__default.createElement(\"span\", {\n className: styles$g.dateBlockValue\n }, date));\n};\nBlock.propTypes = {\n className: PropTypes__default.string,\n children: PropTypes__default.oneOfType([PropTypes__default.arrayOf(PropTypes__default.element), PropTypes__default.element])\n};\nBlockRemove.propTypes = {\n onRemoveClick: PropTypes__default.func\n};\nParamsBlock.propTypes = {\n className: PropTypes__default.string,\n title: PropTypes__default.string.isRequired,\n list: PropTypes__default.arrayOf(PropTypes__default.shape({\n label: PropTypes__default.string,\n value: PropTypes__default.string\n })).isRequired,\n onClick: PropTypes__default.func\n};\nDateBlock.propTypes = {\n className: PropTypes__default.string,\n date: PropTypes__default.string\n};\n\nvar css_248z$i = \".index-module_grid__3x3Ch {\\n display: grid;\\n width: 100%; }\\n\";\nvar styles$h = {\"grid\":\"index-module_grid__3x3Ch\"};\nstyleInject(css_248z$i);\n\nvar DisplayItems = function DisplayItems(props) {\n var items = props.items,\n itemClassName = props.itemClassName,\n type = props.type,\n listClassName = props.listClassName,\n gridClassName = props.gridClassName,\n gridColumnCount = props.gridColumnCount;\n return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, type === 'list' ? /*#__PURE__*/React__default.createElement(\"div\", {\n className: listClassName ? listClassName : ''\n }, /*#__PURE__*/React__default.createElement(\"ul\", null, items.map(function (item, idx) {\n return /*#__PURE__*/React__default.createElement(\"li\", {\n key: item.id || idx,\n className: itemClassName ? itemClassName : ''\n }, item.element);\n }))) : /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(gridClassName, \" \").concat(styles$h.grid),\n style: {\n gridTemplateColumns: \"repeat(\".concat(gridColumnCount, \", 1fr)\")\n }\n }, items.map(function (item, idx) {\n return /*#__PURE__*/React__default.createElement(\"div\", {\n key: item.id || idx,\n className: itemClassName\n }, item.element);\n })));\n};\nDisplayItems.defaultProps = {\n gridClassName: '',\n listClassName: '',\n type: 'list'\n};\nDisplayItems.propTypes = {\n listClassName: PropTypes__default.string,\n gridClassName: PropTypes__default.object,\n items: PropTypes__default.array.isRequired,\n type: PropTypes__default.oneOf(['grid', 'list'])\n};\n\nvar css_248z$j = \":root {\\n --primary1: #123787;\\n --primary2: #1d58d7;\\n --primary3: #5173fb;\\n --primary4: #7a93ff;\\n --primary5: #c2d0ff;\\n --primary6: #e5ebff;\\n --primary7: #f2f5ff; }\\n\\n@keyframes actionMenu-module_hover-ripples__1mcLu {\\n 0% {\\n top: -0.1875em;\\n left: -0.1875em;\\n right: -0.1875em;\\n bottom: -0.1875em;\\n opacity: 1; }\\n 100% {\\n top: -0.8125em;\\n left: -0.8125em;\\n right: -0.8125em;\\n bottom: -0.8125em;\\n opacity: 0; } }\\n\\n.actionMenu-module_list__13tRc {\\n position: relative;\\n display: inline-flex;\\n flex-direction: column;\\n align-items: flex-start;\\n min-width: 8.25rem;\\n border-radius: 0.125rem;\\n border: 0.0625rem solid var(--primary2);\\n background: #ffffff;\\n box-shadow: 0 0 0.25rem 0 rgba(162, 162, 162, 0.5);\\n overflow: hidden; }\\n\\n.actionMenu-module_itemBtn__OCUvI {\\n padding: 0;\\n border: 0;\\n border-radius: 0;\\n background: none;\\n display: flex;\\n align-items: center;\\n padding: .5rem 1rem;\\n width: 100%;\\n transition: color .25s;\\n cursor: pointer;\\n font-family: 'Avenir Next Regular', sans-serif;\\n font-weight: normal;\\n font-size: .75rem;\\n line-height: 1.16667em;\\n color: #000000;\\n white-space: nowrap; }\\n .actionMenu-module_itemBtn__OCUvI:focus {\\n outline: 0; }\\n .actionMenu-module_itemBtn__OCUvI:hover {\\n background-color: var(--primary6); }\\n\\n.actionMenu-module_icon__D-ytm {\\n margin-right: 1rem; }\\n .actionMenu-module_icon__D-ytm svg {\\n width: 0.875rem;\\n height: 0.875rem;\\n display: block;\\n fill: #787878; }\\n\\n.actionMenu-module_close__2J-tL {\\n padding: 0;\\n border: 0;\\n border-radius: 0;\\n background: none;\\n position: absolute;\\n top: 0.3125rem;\\n right: 0.375rem;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n width: 1.25rem;\\n height: 1.25rem;\\n border-radius: 50%;\\n cursor: pointer; }\\n .actionMenu-module_close__2J-tL:focus {\\n outline: 0; }\\n .actionMenu-module_close__2J-tL svg {\\n width: auto;\\n height: 1.125rem; }\\n .actionMenu-module_close__2J-tL path {\\n fill: var(--primary2);\\n transition: fill .25s; }\\n .actionMenu-module_close__2J-tL:hover path {\\n fill: var(--primary2); }\\n\";\nvar styles$i = {\"list\":\"actionMenu-module_list__13tRc\",\"itemBtn\":\"actionMenu-module_itemBtn__OCUvI\",\"icon\":\"actionMenu-module_icon__D-ytm\",\"close\":\"actionMenu-module_close__2J-tL\",\"hover-ripples\":\"actionMenu-module_hover-ripples__1mcLu\"};\nstyleInject(css_248z$j);\n\nvar ActionMenu = function ActionMenu(props) {\n var _props$className = props.className,\n className = _props$className === void 0 ? '' : _props$className,\n actions = props.actions,\n close = props.close;\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(styles$i.list, \" \").concat(className)\n }, actions && !!actions.length && actions.map(function (action) {\n return /*#__PURE__*/React__default.createElement(\"button\", {\n key: action.label,\n className: styles$i.itemBtn,\n onClick: function onClick(e) {\n e.stopPropagation();\n action.onClick();\n if (close) close();\n }\n }, action.label);\n }));\n};\nActionMenu.propTypes = {\n className: PropTypes.string,\n actions: PropTypes.array,\n close: PropTypes.func\n};\n\nfunction _createSuper$C(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$C(); return function _createSuperInternal() { var Super = getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$C() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar ActionButton = /*#__PURE__*/function (_React$Component) {\n inherits(ActionButton, _React$Component);\n\n var _super = _createSuper$C(ActionButton);\n\n function ActionButton() {\n classCallCheck(this, ActionButton);\n\n return _super.apply(this, arguments);\n }\n\n createClass(ActionButton, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n _this$props$className = _this$props.className,\n className = _this$props$className === void 0 ? '' : _this$props$className,\n actions = _this$props.actions,\n _this$props$rightDrop = _this$props.rightDrop,\n rightDrop = _this$props$rightDrop === void 0 ? false : _this$props$rightDrop,\n _this$props$disableAc = _this$props.disableAction,\n disableAction = _this$props$disableAc === void 0 ? false : _this$props$disableAc;\n return /*#__PURE__*/React__default.createElement(Opener, {\n className: \"opener__container \".concat(className),\n btnClassName: \"\".concat(disableAction ? 'opener_disabled' : ''),\n disabled: disableAction,\n btn: /*#__PURE__*/React__default.createElement(\"button\", {\n className: \"btn-transparent opener__btn \".concat(disableAction ? 'opener__btn_disabled' : ''),\n disabled: disableAction\n }, /*#__PURE__*/React__default.createElement(Icon, {\n name: \"More\"\n })),\n content: /*#__PURE__*/React__default.createElement(ActionMenu, {\n actions: actions\n }),\n contentClassName: \"opener__content \".concat(rightDrop ? 'opener__content_right-drop' : '')\n });\n }\n }]);\n\n return ActionButton;\n}(React__default.Component);\nActionButton.propTypes = {\n className: PropTypes.string,\n actions: PropTypes.array,\n rightDrop: PropTypes.bool,\n disableAction: PropTypes.bool\n};\n\nvar css_248z$k = \":root {\\n --primary1: #123787;\\n --primary2: #1d58d7;\\n --primary3: #5173fb;\\n --primary4: #7a93ff;\\n --primary5: #c2d0ff;\\n --primary6: #e5ebff;\\n --primary7: #f2f5ff; }\\n\\n@keyframes index-module_hover-ripples__cRW4x {\\n 0% {\\n top: -0.1875em;\\n left: -0.1875em;\\n right: -0.1875em;\\n bottom: -0.1875em;\\n opacity: 1; }\\n 100% {\\n top: -0.8125em;\\n left: -0.8125em;\\n right: -0.8125em;\\n bottom: -0.8125em;\\n opacity: 0; } }\\n\\n.index-module_block__2WiCD {\\n padding: 1rem;\\n position: relative; }\\n .index-module_block__2WiCD:not(:last-child) {\\n margin-bottom: 1rem; }\\n .index-module_blockHeader__2VP_z {\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n margin-bottom: 1.5rem; }\\n .index-module_blockRow__12PVT {\\n display: flex;\\n flex-wrap: wrap; }\\n .index-module_blockRow__12PVT:not(:last-child) {\\n margin-bottom: 1rem; }\\n .index-module_blockRow__12PVT .text-field._error .text-field__label {\\n color: #a2a2a2; }\\n .index-module_blockTitle__1kzZL {\\n display: flex;\\n align-items: center;\\n flex-shrink: 1; }\\n .index-module_blockTitleText__3fALn {\\n display: flex;\\n flex-shrink: 0;\\n align-items: center;\\n font-family: 'Avenir Next Regular', sans-serif;\\n font-weight: 700;\\n font-size: 0.875rem;\\n line-height: 1.2;\\n min-width: 6rem;\\n margin-right: 2rem; }\\n .index-module_blockTooltip__29hII {\\n margin-left: 0.5rem;\\n line-height: 0; }\\n .index-module_blockTooltip__29hII .tooltipV2__label {\\n line-height: 1.21429em; }\\n .index-module_blockTitle2__1aDGr {\\n margin: 2rem 0 1rem;\\n font-weight: 400; }\\n .index-module_blockSubtitle__3AbWg {\\n font-family: 'Avenir Next Regular', sans-serif;\\n font-weight: normal;\\n margin-top: -1rem;\\n margin-bottom: 1.5rem;\\n color: #a2a2a2;\\n line-height: 1.4; }\\n .index-module_blockSubtitle__3AbWg a {\\n color: #a2a2a2; }\\n\\n.index-module_goalCol__2dLLy {\\n border-left: 0.0625rem solid rgba(162, 162, 162, 0.5); }\\n\\n.index-module_p__2uFUj {\\n color: #818181; }\\n\\n.index-module_locationSelects__1GFRa {\\n display: flex;\\n align-items: center; }\\n .index-module_locationSelects__1GFRa i {\\n margin: 0 0.5rem; }\\n .index-module_locationSelects__1GFRa span {\\n margin-top: 0.25rem; }\\n\\n.index-module_locationMap__3l7si {\\n height: 12.5rem;\\n border: 0.0625rem solid #a2a2a2; }\\n .index-module_locationMap__3l7si iframe {\\n width: 100%;\\n height: 100%; }\\n\\n.index-module_deviceType__3f5s4 {\\n padding: 1rem;\\n border: 0.0625rem solid #f4f4f4; }\\n .index-module_deviceTypeRow__1-JeK {\\n display: flex;\\n margin: 0 -0.25rem; }\\n .index-module_deviceTypeItem__3v4F0 {\\n flex: 0 1 20%;\\n min-width: 20%;\\n max-width: 20%;\\n padding: 0 0.25rem; }\\n .index-module_deviceTypeIcon__2rKPG {\\n margin-right: 0.75rem;\\n height: 0.75rem;\\n line-height: 0; }\\n .index-module_deviceTypeIcon__2rKPG svg {\\n height: 100%;\\n width: auto; }\\n .index-module_deviceTypeName__906bQ {\\n font-family: 'Avenir Next Demi', sans-serif;\\n font-weight: normal;\\n font-size: 0.875rem;\\n line-height: 1.21429em;\\n color: #000000;\\n text-transform: capitalize; }\\n\\n.index-module_buttons__ZYf1J {\\n display: flex;\\n justify-content: flex-end;\\n margin-top: 1rem; }\\n .index-module_buttons__ZYf1J button:not(:last-child) {\\n margin-right: 1rem; }\\n\\n.index-module_input__3-ECy {\\n flex-grow: 1;\\n display: flex;\\n justify-content: space-between;\\n align-items: center; }\\n .index-module_input__3-ECy.index-module_first__1uHIL {\\n justify-content: flex-start; }\\n .index-module_inputLabel__2tlm8, .index-module_inputLabel__2tlm8.text-label {\\n margin: 0;\\n padding-right: 0.5rem; }\\n .index-module_input__3-ECy.index-module_first__1uHIL .index-module_inputLabel__2tlm8 {\\n flex: 1 1 calc(100% - 28rem / 16);\\n max-width: 13.625rem; }\\n .index-module_inputField__mrlL3 {\\n flex: 1 1 auto; }\\n .index-module_inputNumberInput__lO0hB:not(:first-child) {\\n margin-left: 0; }\\n .index-module_inputSelect__1j1la.select {\\n max-width: 10rem; }\\n .index-module_inputSelect__1j1la.select:not(._opened) {\\n z-index: 0; }\\n .index-module_inputButtons__3hwUE {\\n display: flex;\\n align-items: center; }\\n .index-module_inputButtons__3hwUE > *:not(:last-child) {\\n margin-right: 0.75rem; }\\n\\n.index-module_inputsListTitles__8SXaS {\\n padding-top: 2.125rem; }\\n\\n.index-module_inputsListTiles__2EBhc {\\n display: flex;\\n align-items: flex-start;\\n margin-left: -1rem; }\\n\\n.index-module_inputsListTile__2L40M {\\n padding: 1rem;\\n width: 12.5rem; }\\n .index-module_inputsListTile__2L40M:not(:last-child) {\\n margin-right: 1rem; }\\n .index-module_inputsListTileTitle__2fmHT {\\n height: 1.0625rem; }\\n\\n.index-module_inputsListRow__MShGg, .index-module_inputsListRow__MShGg.text-label {\\n display: flex;\\n align-items: flex-end;\\n margin: 0;\\n width: 100%;\\n height: 2.75rem; }\\n\\n.index-module_titles__1G2H0 {\\n align-self: stretch;\\n padding-top: 3.375rem; }\\n .index-module_titlesItem__2jpuW {\\n margin: 0; }\\n .index-module_titlesItem__2jpuW:not(:last-child) {\\n margin-bottom: 2.125rem; }\\n\\n.index-module_summary__nCqWd {\\n line-height: 1.4;\\n flex-grow: 1; }\\n .index-module_summaryContainer__dSvxT {\\n margin-right: 1rem; }\\n .index-module_summaryLabel__1l3DG {\\n color: #a2a2a2; }\\n\\n.index-module_arrow__1ZzLU {\\n margin-left: 1rem;\\n flex-shrink: 0;\\n cursor: pointer; }\\n .index-module_arrow__1ZzLU .btn-circle {\\n z-index: 1;\\n background-color: #ffffff; }\\n\\n.index-module_blockIndex__3Qnvm {\\n margin-right: 1.5rem; }\\n\\n.index-module_actionsWrapper__3AP-L {\\n display: flex;\\n align-items: center; }\\n\";\nvar compStyles = {\"block\":\"index-module_block__2WiCD\",\"blockHeader\":\"index-module_blockHeader__2VP_z\",\"blockRow\":\"index-module_blockRow__12PVT\",\"blockTitle\":\"index-module_blockTitle__1kzZL\",\"blockTitleText\":\"index-module_blockTitleText__3fALn\",\"blockTooltip\":\"index-module_blockTooltip__29hII\",\"blockTitle2\":\"index-module_blockTitle2__1aDGr\",\"blockSubtitle\":\"index-module_blockSubtitle__3AbWg\",\"goalCol\":\"index-module_goalCol__2dLLy\",\"p\":\"index-module_p__2uFUj\",\"locationSelects\":\"index-module_locationSelects__1GFRa\",\"locationMap\":\"index-module_locationMap__3l7si\",\"deviceType\":\"index-module_deviceType__3f5s4\",\"deviceTypeRow\":\"index-module_deviceTypeRow__1-JeK\",\"deviceTypeItem\":\"index-module_deviceTypeItem__3v4F0\",\"deviceTypeIcon\":\"index-module_deviceTypeIcon__2rKPG\",\"deviceTypeName\":\"index-module_deviceTypeName__906bQ\",\"buttons\":\"index-module_buttons__ZYf1J\",\"input\":\"index-module_input__3-ECy\",\"first\":\"index-module_first__1uHIL\",\"inputLabel\":\"index-module_inputLabel__2tlm8\",\"inputField\":\"index-module_inputField__mrlL3\",\"inputNumberInput\":\"index-module_inputNumberInput__lO0hB\",\"inputSelect\":\"index-module_inputSelect__1j1la\",\"inputButtons\":\"index-module_inputButtons__3hwUE\",\"inputsListTitles\":\"index-module_inputsListTitles__8SXaS\",\"inputsListTiles\":\"index-module_inputsListTiles__2EBhc\",\"inputsListTile\":\"index-module_inputsListTile__2L40M\",\"inputsListTileTitle\":\"index-module_inputsListTileTitle__2fmHT\",\"inputsListRow\":\"index-module_inputsListRow__MShGg\",\"titles\":\"index-module_titles__1G2H0\",\"titlesItem\":\"index-module_titlesItem__2jpuW\",\"summary\":\"index-module_summary__nCqWd\",\"summaryContainer\":\"index-module_summaryContainer__dSvxT\",\"summaryLabel\":\"index-module_summaryLabel__1l3DG\",\"arrow\":\"index-module_arrow__1ZzLU\",\"blockIndex\":\"index-module_blockIndex__3Qnvm\",\"actionsWrapper\":\"index-module_actionsWrapper__3AP-L\",\"hover-ripples\":\"index-module_hover-ripples__cRW4x\"};\nstyleInject(css_248z$k);\n\nfunction ownKeys$a(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$a(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$a(Object(source), true).forEach(function (key) { defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$a(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nvar CollapsibleBlock = function CollapsibleBlock(props) {\n var children = props.children,\n header = props.header,\n collapsible = props.collapsible,\n _props$isCollapseOpen = props.isCollapseOpen,\n isCollapseOpen = _props$isCollapseOpen === void 0 ? false : _props$isCollapseOpen,\n onToggle = props.onToggle,\n _props$className = props.className,\n className = _props$className === void 0 ? '' : _props$className,\n id = props.id,\n customStyle = props.customStyle,\n titleIcons = props.titleIcons,\n _props$shouldUnmount = props.shouldUnmount,\n shouldUnmount = _props$shouldUnmount === void 0 ? false : _props$shouldUnmount,\n _props$persistSummary = props.persistSummary,\n persistSummary = _props$persistSummary === void 0 ? false : _props$persistSummary,\n _props$actions = props.actions,\n actions = _props$actions === void 0 ? [] : _props$actions;\n\n var _useState = useState(!collapsible),\n _useState2 = slicedToArray(_useState, 2),\n internalIsOpen = _useState2[0],\n setInternalIsOpen = _useState2[1];\n\n useEffect(function () {\n if (isCollapseOpen !== internalIsOpen) {\n setInternalIsOpen(isCollapseOpen);\n }\n }, [isCollapseOpen]);\n\n var getSummary = function getSummary() {\n return header && Object.keys(header.summary).map(function (key) {\n return header.summary[key].length ? /*#__PURE__*/React__default.createElement(\"span\", {\n className: styles.summaryContainer,\n key: key\n }, /*#__PURE__*/React__default.createElement(\"span\", {\n className: styles.summaryLabel\n }, key, \": \"), header.icon && /*#__PURE__*/React__default.createElement(\"span\", null, header.icon[key]), /*#__PURE__*/React__default.createElement(\"span\", {\n className: styles.summaryValue\n }, header.summary[key])) : null;\n });\n };\n\n var styles = useMemo(function () {\n if (customStyle) {\n return _objectSpread$a(_objectSpread$a({}, compStyles), customStyle);\n }\n\n return compStyles;\n }, [customStyle]);\n var handleToggle = useCallback(function () {\n if (collapsible) {\n onToggle === null || onToggle === void 0 ? void 0 : onToggle(!internalIsOpen, id);\n console.log('Setting from toggle as' + !internalIsOpen);\n setInternalIsOpen(!internalIsOpen);\n }\n }, [collapsible, internalIsOpen, onToggle, id]);\n var shouldExpandBlock = useMemo(function () {\n return collapsible ? isBoolean(isCollapseOpen) && isCollapseOpen || !isBoolean(isCollapseOpen) && internalIsOpen : true;\n }, [internalIsOpen, isCollapseOpen, collapsible]);\n var _styles$panelHeaderEx = styles.panelHeaderExpand,\n panelHeaderExpand = _styles$panelHeaderEx === void 0 ? '' : _styles$panelHeaderEx,\n _styles$panelHeaderCo = styles.panelHeaderCollapse,\n panelHeaderCollapse = _styles$panelHeaderCo === void 0 ? '' : _styles$panelHeaderCo;\n return /*#__PURE__*/React__default.createElement(\"div\", {\n id: id,\n className: \"block \".concat(styles.block, \" \").concat(className)\n }, header && /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(styles.blockHeader, \" \").concat(shouldExpandBlock ? panelHeaderExpand : \"\".concat(panelHeaderCollapse, \" mb-0\")),\n onClick: handleToggle\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"block-title \".concat(styles.blockTitle)\n }, header.id && /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles.blockIndex\n }, header.id), /*#__PURE__*/React__default.createElement(\"h4\", {\n className: styles.blockTitleText\n }, header.title), header && (!shouldExpandBlock || persistSummary) && header.summary && /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles.summary\n }, getSummary())), titleIcons && shouldExpandBlock && /*#__PURE__*/React__default.createElement(\"ul\", {\n className: styles.titleIconsWrapper\n }, titleIcons.map(function (icon) {\n return /*#__PURE__*/React__default.createElement(\"li\", {\n onClick: function onClick(e) {\n e.stopPropagation();\n icon.onClick();\n },\n key: icon.label\n }, /*#__PURE__*/React__default.createElement(Icon, {\n className: icon.className ? icon.className : '',\n name: icon.iconName\n }));\n })), /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"actions \".concat(styles.actionsWrapper)\n }, collapsible && /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles.arrow\n }, /*#__PURE__*/React__default.createElement(ButtonCircle, {\n onClick: handleToggle,\n iconName: shouldExpandBlock ? 'Expand' : 'Right'\n })), actions.length > 0 && /*#__PURE__*/React__default.createElement(ActionButton, {\n className: styles.actions,\n actions: actions\n }))), shouldUnmount && shouldExpandBlock && /*#__PURE__*/React__default.createElement(\"div\", null, children), !shouldUnmount && /*#__PURE__*/React__default.createElement(\"div\", {\n hidden: !shouldExpandBlock\n }, children));\n};\nCollapsibleBlock.propTypes = {\n collapsible: PropTypes__default.bool,\n isCollapseOpen: PropTypes__default.bool,\n onToggle: PropTypes__default.func,\n className: PropTypes__default.string,\n isExtended: PropTypes__default.bool,\n header: PropTypes__default.shape({\n title: PropTypes__default.oneOfType([PropTypes__default.string, PropTypes__default.element]).isRequired,\n summary: PropTypes__default.object,\n id: PropTypes__default.number,\n icon: PropTypes__default.object\n }),\n id: PropTypes__default.string,\n customStyle: PropTypes__default.object,\n shouldUnmount: PropTypes__default.bool,\n persistSummary: PropTypes__default.bool,\n actions: PropTypes__default.array\n};\n\nvar css_248z$l = \":root {\\n --primary1: #123787;\\n --primary2: #1d58d7;\\n --primary3: #5173fb;\\n --primary4: #7a93ff;\\n --primary5: #c2d0ff;\\n --primary6: #e5ebff;\\n --primary7: #f2f5ff; }\\n\\n@keyframes paramsCard-module_hover-ripples__2YmS_ {\\n 0% {\\n top: -0.1875em;\\n left: -0.1875em;\\n right: -0.1875em;\\n bottom: -0.1875em;\\n opacity: 1; }\\n 100% {\\n top: -0.8125em;\\n left: -0.8125em;\\n right: -0.8125em;\\n bottom: -0.8125em;\\n opacity: 0; } }\\n\\n.paramsCard-module_card__149g7 {\\n position: relative; }\\n .paramsCard-module_card__149g7:not(:last-child) {\\n border-bottom: 0.0625rem solid #f4f4f4; }\\n\\n.paramsCard-module_wrapper__1WX4v {\\n position: relative;\\n padding: .75rem 1.5rem .5rem;\\n transition: background-color .25s; }\\n\\n.paramsCard-module_card__149g7:not(._blue) .paramsCard-module_wrapper__1WX4v {\\n cursor: pointer; }\\n .paramsCard-module_card__149g7:not(._blue) .paramsCard-module_wrapper__1WX4v:hover {\\n background: #f2f5ff; }\\n\\n.paramsCard-module_card__149g7._active .paramsCard-module_wrapper__1WX4v {\\n background-color: #dee2ff; }\\n\\n.paramsCard-module_card__149g7._blue .paramsCard-module_wrapper__1WX4v {\\n background-color: rgba(var(--primary2), 0.125); }\\n\\n.paramsCard-module_card__149g7._active .paramsCard-module_wrapper__1WX4v:before, .paramsCard-module_card__149g7._blue .paramsCard-module_wrapper__1WX4v:before {\\n content: '';\\n position: absolute;\\n top: 0;\\n left: 0;\\n bottom: 0;\\n width: .25rem;\\n background-color: var(--primary2); }\\n\\n.paramsCard-module_card__149g7._sub-content .paramsCard-module_wrapper__1WX4v {\\n display: none; }\\n\\n.paramsCard-module_header__29XY_ {\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n margin-bottom: .75rem; }\\n\\n.paramsCard-module_countsContainer__2ha9_ {\\n display: flex;\\n justify-content: space-between;\\n min-width: 4.5rem;\\n flex-shrink: 0; }\\n\\n.paramsCard-module_countsItem__10eOr {\\n display: flex;\\n align-items: center;\\n margin: 0 0.5rem; }\\n\\n.paramsCard-module_countsIcon__1LcPM {\\n font-family: 'Avenir Next Bold', sans-serif;\\n font-weight: normal;\\n font-size: 0.625rem;\\n line-height: 1;\\n height: 0.375rem;\\n width: 0.375rem;\\n border-radius: 50%;\\n margin-right: 0.25rem;\\n display: flex;\\n align-items: center; }\\n .paramsCard-module_countsIconGreen__2Vcop {\\n background-color: #3F9B34; }\\n .paramsCard-module_countsIconRed__hJ3ri {\\n background-color: #FF5859; }\\n\\n.paramsCard-module_countsText__2QyUI {\\n font-family: 'Avenir Next Bold', sans-serif;\\n font-weight: normal;\\n font-size: 0.625rem;\\n line-height: 0.875rem;\\n color: #666666; }\\n\\n.paramsCard-module_title__2PKks {\\n font-family: 'Avenir Next Regular', sans-serif;\\n font-weight: normal;\\n font-size: 0.75rem;\\n line-height: 0.875rem;\\n color: #000000;\\n word-break: break-word; }\\n\\n.paramsCard-module_card__149g7._blue .paramsCard-module_title__2PKks {\\n font-size: 1.125rem;\\n line-height: 1.22222rem;\\n color: var(--primary2); }\\n\\n.paramsCard-module_list__36Gh- {\\n display: flex;\\n margin: 0 -.5rem;\\n padding: 0; }\\n\\n.paramsCard-module_item__iQ0WW {\\n flex: 1 1 auto;\\n display: flex;\\n flex-direction: column;\\n align-items: stretch;\\n padding: 0 .5rem;\\n min-width: 0;\\n font-family: 'Avenir Next Regular', sans-serif;\\n font-weight: normal;\\n font-size: .75rem; }\\n\\n.paramsCard-module_label__1pdM- {\\n font-family: 'Avenir Next Regular', sans-serif;\\n font-weight: normal;\\n font-size: 0.625rem;\\n line-height: 0.875rem;\\n color: #787878;\\n white-space: nowrap; }\\n\\n.paramsCard-module_value__1rtmv {\\n font-family: 'Avenir Next Bold', sans-serif;\\n font-weight: normal;\\n overflow: hidden;\\n font-size: 0.875rem;\\n line-height: 1.125rem;\\n color: var(--primary1); }\\n\\n.paramsCard-module_card__149g7._blue .paramsCard-module_value__1rtmv {\\n color: var(--primary2); }\\n\\n.paramsCard-module_menu__2Q3PX {\\n position: absolute !important;\\n z-index: 1;\\n top: .5rem;\\n right: .625rem; }\\n .paramsCard-module_menu__2Q3PX._opened {\\n z-index: 4; }\\n\\n.paramsCard-module_card__149g7._sub-content .paramsCard-module_menu__2Q3PX {\\n display: none; }\\n\\n.paramsCard-module_card__149g7:not(._sub-content) .paramsCard-module_subContent__1iFx9 {\\n display: none; }\\n\";\nvar styles$j = {\"card\":\"paramsCard-module_card__149g7\",\"wrapper\":\"paramsCard-module_wrapper__1WX4v\",\"header\":\"paramsCard-module_header__29XY_\",\"countsContainer\":\"paramsCard-module_countsContainer__2ha9_\",\"countsItem\":\"paramsCard-module_countsItem__10eOr\",\"countsIcon\":\"paramsCard-module_countsIcon__1LcPM\",\"countsIconGreen\":\"paramsCard-module_countsIconGreen__2Vcop\",\"countsIconRed\":\"paramsCard-module_countsIconRed__hJ3ri\",\"countsText\":\"paramsCard-module_countsText__2QyUI\",\"title\":\"paramsCard-module_title__2PKks\",\"list\":\"paramsCard-module_list__36Gh-\",\"item\":\"paramsCard-module_item__iQ0WW\",\"label\":\"paramsCard-module_label__1pdM-\",\"value\":\"paramsCard-module_value__1rtmv\",\"menu\":\"paramsCard-module_menu__2Q3PX\",\"subContent\":\"paramsCard-module_subContent__1iFx9\",\"hover-ripples\":\"paramsCard-module_hover-ripples__2YmS_\"};\nstyleInject(css_248z$l);\n\nvar ParamsCard = function ParamsCard(props) {\n var _props$className = props.className,\n className = _props$className === void 0 ? '' : _props$className,\n title = props.title,\n list = props.list,\n actions = props.actions,\n isActive = props.isActive,\n onClick = props.onClick,\n isBlue = props.isBlue,\n subContent = props.subContent,\n isSubContentOpen = props.isSubContentOpen,\n counts = props.counts,\n titleLeft = props.titleLeft,\n titleRight = props.titleRight,\n onClickIndicators = props.onClickIndicators;\n\n var handleOnClick = function handleOnClick() {\n if (onClick) {\n onClick();\n }\n };\n\n var classNames = [styles$j.card];\n\n if (isActive) {\n classNames.push('_active');\n }\n\n if (subContent && isSubContentOpen) {\n classNames.push('_sub-content');\n }\n\n if (isBlue) {\n classNames.push('_blue');\n }\n\n if (className) {\n classNames.push(className);\n }\n\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: classNames.join(' ')\n }, actions && /*#__PURE__*/React__default.createElement(ActionButton, {\n className: styles$j.menu,\n actions: actions\n }), /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$j.wrapper,\n onClick: handleOnClick\n }, /*#__PURE__*/React__default.createElement(\"header\", {\n className: styles$j.header\n }, titleLeft && titleLeft, /*#__PURE__*/React__default.createElement(\"h4\", {\n className: styles$j.title\n }, title), counts && /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$j.countsContainer,\n onClick: onClickIndicators\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$j.countsItem\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(styles$j.countsIcon, \" \").concat(styles$j.countsIconGreen)\n }), /*#__PURE__*/React__default.createElement(\"span\", {\n className: styles$j.countsText\n }, counts.whitelist)), /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$j.countsItem\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(styles$j.countsIcon, \" \").concat(styles$j.countsIconRed)\n }), /*#__PURE__*/React__default.createElement(\"span\", {\n className: styles$j.countsText\n }, counts.blacklist))), titleRight && titleRight), /*#__PURE__*/React__default.createElement(\"ul\", {\n className: styles$j.list\n }, list.map(function (i, k) {\n return /*#__PURE__*/React__default.createElement(\"li\", {\n className: styles$j.item,\n key: typeof i.label === 'string' ? i.label : k,\n style: {\n minWidth: \"\".concat(100 / list.length, \"%\")\n }\n }, /*#__PURE__*/React__default.createElement(\"span\", {\n className: styles$j.value\n }, i.value), /*#__PURE__*/React__default.createElement(\"span\", {\n className: styles$j.label\n }, i.label));\n }))), subContent && isSubContentOpen && /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$j.subContent\n }, subContent));\n};\nParamsCard.propTypes = {\n className: PropTypes__default.string,\n title: PropTypes__default.oneOfType([PropTypes__default.string, PropTypes__default.element]),\n list: PropTypes__default.arrayOf(PropTypes__default.shape({\n label: PropTypes__default.oneOfType([PropTypes__default.string, PropTypes__default.element]),\n value: PropTypes__default.oneOfType([PropTypes__default.string, PropTypes__default.number, PropTypes__default.element])\n })).isRequired,\n onClick: PropTypes__default.func,\n isActive: PropTypes__default.bool,\n actions: PropTypes__default.array,\n isBlue: PropTypes__default.bool,\n subContent: PropTypes__default.element,\n isSubContentOpen: PropTypes__default.bool,\n counts: PropTypes__default.shape({\n whitelist: number,\n blacklist: number\n }),\n onClickIndicators: PropTypes__default.func\n};\n\nvar css_248z$m = \":root {\\n --primary1: #123787;\\n --primary2: #1d58d7;\\n --primary3: #5173fb;\\n --primary4: #7a93ff;\\n --primary5: #c2d0ff;\\n --primary6: #e5ebff;\\n --primary7: #f2f5ff; }\\n\\n@keyframes paramsCardsDate-module_hover-ripples__2Zokf {\\n 0% {\\n top: -0.1875em;\\n left: -0.1875em;\\n right: -0.1875em;\\n bottom: -0.1875em;\\n opacity: 1; }\\n 100% {\\n top: -0.8125em;\\n left: -0.8125em;\\n right: -0.8125em;\\n bottom: -0.8125em;\\n opacity: 0; } }\\n\\n.paramsCardsDate-module_date__Q-VSi {\\n position: -webkit-sticky;\\n position: sticky;\\n top: 0;\\n z-index: 3;\\n display: flex;\\n justify-content: flex-end;\\n align-items: center;\\n padding: 0 1.5rem;\\n height: 2rem;\\n border-top: 0.0625rem solid #f4f4f4;\\n border-bottom: 0.0625rem solid #f4f4f4;\\n background-color: #f9f9f9; }\\n .paramsCardsDate-module_dateValue__3_SQ2 {\\n font-family: 'Avenir Next Regular', sans-serif;\\n font-weight: normal;\\n font-size: 0.875rem;\\n line-height: 1.21429em;\\n color: #787878; }\\n\";\nvar styles$k = {\"date\":\"paramsCardsDate-module_date__Q-VSi\",\"dateValue\":\"paramsCardsDate-module_dateValue__3_SQ2\",\"hover-ripples\":\"paramsCardsDate-module_hover-ripples__2Zokf\"};\nstyleInject(css_248z$m);\n\nvar ParamsCardsDate = function ParamsCardsDate(_ref) {\n var _ref$className = _ref.className,\n className = _ref$className === void 0 ? '' : _ref$className,\n date = _ref.date;\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(styles$k.date, \" \").concat(className)\n }, /*#__PURE__*/React__default.createElement(\"span\", {\n className: styles$k.dateValue\n }, date));\n};\nParamsCardsDate.propTypes = {\n className: PropTypes__default.string,\n date: PropTypes__default.oneOfType([PropTypes__default.string, PropTypes__default.element])\n};\n\nvar css_248z$n = \":root {\\n --primary1: #123787;\\n --primary2: #1d58d7;\\n --primary3: #5173fb;\\n --primary4: #7a93ff;\\n --primary5: #c2d0ff;\\n --primary6: #e5ebff;\\n --primary7: #f2f5ff; }\\n\\n@keyframes list-module_hover-ripples___xUJL {\\n 0% {\\n top: -0.1875em;\\n left: -0.1875em;\\n right: -0.1875em;\\n bottom: -0.1875em;\\n opacity: 1; }\\n 100% {\\n top: -0.8125em;\\n left: -0.8125em;\\n right: -0.8125em;\\n bottom: -0.8125em;\\n opacity: 0; } }\\n\\n.list-module_btn-transparent__3W6RY {\\n padding: 0;\\n border: 0;\\n border-radius: 0;\\n background: none; }\\n .list-module_btn-transparent__3W6RY:focus {\\n outline: 0; }\\n\\n.list-module_container__1eoFb {\\n flex: 1 1 100%;\\n height: 100%;\\n min-height: 0;\\n display: flex;\\n flex-direction: column;\\n align-items: stretch; }\\n\\n.list-module_list__26nmP {\\n flex: 1 1 auto;\\n min-height: 0;\\n overflow: auto;\\n overscroll-behavior: contain; }\\n\\n.list-module_search__3mT3d {\\n position: relative; }\\n .list-module_searchWrapper__2BSCK {\\n display: flex;\\n align-items: center;\\n padding: 1rem 1.5rem; }\\n\\n.list-module_textField__1hRbA {\\n flex: 1 1 auto;\\n min-width: 0; }\\n\\n.list-module_showSearch__2Cj-w {\\n padding: 0;\\n border: 0;\\n border-radius: 0;\\n background: none;\\n position: absolute;\\n z-index: 4;\\n top: 1rem;\\n left: 1.25rem;\\n width: 1.25rem;\\n transform: translateY(-50%);\\n cursor: pointer; }\\n .list-module_showSearch__2Cj-w:focus {\\n outline: 0; }\\n .list-module_showSearch__2Cj-w svg {\\n width: 100%;\\n height: auto; }\\n .list-module_showSearch__2Cj-w path {\\n fill: #787878; }\\n\\n.list-module_close__1a9Rw.btn-circle {\\n flex: 0 0 1.25rem;\\n margin-left: 1rem;\\n width: 0.875rem;\\n height: 0.875rem; }\\n .list-module_close__1a9Rw.btn-circle:before, .list-module_close__1a9Rw.btn-circle:after {\\n width: 1.25rem; }\\n\";\nvar styles$l = {\"btn-transparent\":\"list-module_btn-transparent__3W6RY\",\"container\":\"list-module_container__1eoFb\",\"list\":\"list-module_list__26nmP\",\"search\":\"list-module_search__3mT3d\",\"searchWrapper\":\"list-module_searchWrapper__2BSCK\",\"textField\":\"list-module_textField__1hRbA\",\"showSearch\":\"list-module_showSearch__2Cj-w\",\"close\":\"list-module_close__1a9Rw\",\"hover-ripples\":\"list-module_hover-ripples___xUJL\"};\nstyleInject(css_248z$n);\n\nfunction _createSuper$D(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$D(); return function _createSuperInternal() { var Super = getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$D() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar ParamsCardsList = /*#__PURE__*/function (_React$Component) {\n inherits(ParamsCardsList, _React$Component);\n\n var _super = _createSuper$D(ParamsCardsList);\n\n function ParamsCardsList() {\n var _this;\n\n classCallCheck(this, ParamsCardsList);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _this.onListScroll = function (_ref) {\n var target = _ref.target;\n var _this$props = _this.props,\n loadData = _this$props.loadData,\n isFetching = _this$props.isFetching;\n var ZOOM_FIX_ADDITIONAL_PX = 20;\n\n if (isFetching) {\n return;\n }\n\n if (target.scrollHeight - target.offsetHeight <= target.scrollTop + ZOOM_FIX_ADDITIONAL_PX) {\n loadData();\n }\n };\n\n _this.getInputRef = function (el) {\n _this.inputRef = el;\n };\n\n return _this;\n }\n\n createClass(ParamsCardsList, [{\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var isSearchOpen = this.props.isSearchOpen;\n\n if (!prevProps.isSearchOpen && isSearchOpen && this.inputRef) {\n this.inputRef.focus();\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n _this$props2$classNam = _this$props2.className,\n className = _this$props2$classNam === void 0 ? '' : _this$props2$classNam,\n children = _this$props2.children,\n searchValue = _this$props2.searchValue,\n onSearchChange = _this$props2.onSearchChange,\n toggleSearch = _this$props2.toggleSearch,\n isSearchOpen = _this$props2.isSearchOpen,\n loadData = _this$props2.loadData,\n isFetching = _this$props2.isFetching,\n skeleton = _this$props2.skeleton,\n noSearch = _this$props2.noSearch,\n listRef = _this$props2.listRef;\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(styles$l.container, \" \").concat(className)\n }, noSearch ? null : /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$l.search\n }, isSearchOpen ? /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$l.searchWrapper\n }, /*#__PURE__*/React__default.createElement(TextField, {\n className: styles$l.textField,\n label: \"Search\",\n iconName: \"Search\",\n value: searchValue,\n onChange: onSearchChange,\n inputRef: this.getInputRef\n }), /*#__PURE__*/React__default.createElement(ButtonCircle, {\n iconName: \"Close\",\n className: \"\".concat(styles$l.close),\n onClick: toggleSearch\n })) : /*#__PURE__*/React__default.createElement(\"button\", {\n className: styles$l.showSearch,\n onClick: toggleSearch\n }, /*#__PURE__*/React__default.createElement(Icon, {\n name: \"Search\"\n }))), /*#__PURE__*/React__default.createElement(\"div\", {\n ref: listRef,\n className: styles$l.list,\n onScroll: loadData ? this.onListScroll : null\n }, children, isFetching && skeleton));\n }\n }]);\n\n return ParamsCardsList;\n}(React__default.Component);\nParamsCardsList.propTypes = {\n className: PropTypes__default.string,\n searchValue: PropTypes__default.string,\n onSearchChange: PropTypes__default.func,\n toggleSearch: PropTypes__default.func,\n isSearchOpen: PropTypes__default.bool,\n noSearch: PropTypes__default.bool,\n loadData: PropTypes__default.func,\n isFetching: PropTypes__default.bool,\n skeleton: PropTypes__default.element\n};\n\nvar css_248z$o = \":root {\\n --primary1: #123787;\\n --primary2: #1d58d7;\\n --primary3: #5173fb;\\n --primary4: #7a93ff;\\n --primary5: #c2d0ff;\\n --primary6: #e5ebff;\\n --primary7: #f2f5ff; }\\n\\n@keyframes rightbartabs-module_hover-ripples__gFfMH {\\n 0% {\\n top: -0.1875em;\\n left: -0.1875em;\\n right: -0.1875em;\\n bottom: -0.1875em;\\n opacity: 1; }\\n 100% {\\n top: -0.8125em;\\n left: -0.8125em;\\n right: -0.8125em;\\n bottom: -0.8125em;\\n opacity: 0; } }\\n\\n.rightbartabs-module_btn-transparent__1NnR4 {\\n padding: 0;\\n border: 0;\\n border-radius: 0;\\n background: none; }\\n .rightbartabs-module_btn-transparent__1NnR4:focus {\\n outline: 0; }\\n\\n.rightbartabs-module_tabs__3TPjq {\\n display: flex;\\n justify-content: flex-end;\\n align-items: stretch;\\n width: 100%; }\\n\\n.rightbartabs-module_tab__2Db3r {\\n position: relative;\\n display: flex;\\n flex-direction: column;\\n align-items: stretch;\\n flex: 0 0 20rem;\\n max-width: 20rem;\\n background-color: #ffffff; }\\n .rightbartabs-module_tab__2Db3r:before {\\n content: '';\\n position: absolute;\\n top: 0;\\n left: 0;\\n bottom: 0;\\n width: 0.0625rem;\\n background-color: #f4f4f4; }\\n\\n.rightbartabs-module_list__oKpKK {\\n flex: 0 0 auto;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n margin: 0;\\n padding: .5rem 0;\\n width: 100%;\\n list-style: none; }\\n\\n.rightbartabs-module_item__227T5 {\\n padding: 0; }\\n .rightbartabs-module_item__227T5:not(:last-child) {\\n margin: 0 0 1rem; }\\n\";\nvar styles$m = {\"btn-transparent\":\"rightbartabs-module_btn-transparent__1NnR4\",\"tabs\":\"rightbartabs-module_tabs__3TPjq\",\"tab\":\"rightbartabs-module_tab__2Db3r\",\"list\":\"rightbartabs-module_list__oKpKK\",\"item\":\"rightbartabs-module_item__227T5\",\"hover-ripples\":\"rightbartabs-module_hover-ripples__gFfMH\"};\nstyleInject(css_248z$o);\n\nfunction _createSuper$E(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$E(); return function _createSuperInternal() { var Super = getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$E() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar RightbarTab = /*#__PURE__*/function (_React$Component) {\n inherits(RightbarTab, _React$Component);\n\n var _super = _createSuper$E(RightbarTab);\n\n function RightbarTab() {\n classCallCheck(this, RightbarTab);\n\n return _super.apply(this, arguments);\n }\n\n createClass(RightbarTab, [{\n key: \"render\",\n value: function render() {\n var children = this.props.children;\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$m.tab\n }, children);\n }\n }]);\n\n return RightbarTab;\n}(React__default.Component);\nvar RightbarTabs = /*#__PURE__*/function (_React$Component2) {\n inherits(RightbarTabs, _React$Component2);\n\n var _super2 = _createSuper$E(RightbarTabs);\n\n function RightbarTabs() {\n var _this;\n\n classCallCheck(this, RightbarTabs);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super2.call.apply(_super2, [this].concat(args));\n\n _this.handleBtnClick = function (index) {\n return function () {\n var activeTabIndex = _this.state.activeTabIndex;\n var newActiveTabIndex = activeTabIndex === index ? null : index;\n\n _this.setState({\n activeTabIndex: newActiveTabIndex\n });\n };\n };\n\n _this.getTabs = function () {\n var _this$props = _this.props,\n children = _this$props.children,\n setActiveTab = _this$props.setActiveTab;\n var tabs = [];\n React__default.Children.forEach(children, function (child) {\n tabs.push({\n child: child,\n button: {\n label: child.props.label,\n iconName: child.props.iconName,\n iconClassName: child.props.iconClassName || '',\n iconChildren: child.props.iconChildren,\n onClick: function onClick() {\n return setActiveTab(child.props.label);\n }\n }\n });\n });\n return tabs;\n };\n\n return _this;\n }\n\n createClass(RightbarTabs, [{\n key: \"render\",\n value: function render() {\n var activeLabel = this.props.activeLabel;\n var tabs = this.getTabs();\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$m.tabs\n }, activeLabel !== null && tabs.find(function (tab) {\n return tab.button.label === activeLabel;\n }).child, /*#__PURE__*/React__default.createElement(\"ul\", {\n className: styles$m.list\n }, tabs.map(function (tab, k) {\n return /*#__PURE__*/React__default.createElement(\"li\", {\n className: styles$m.item,\n key: k\n }, /*#__PURE__*/React__default.createElement(ButtonCircle, {\n iconName: tab.button.iconName,\n className: \"\".concat(tab.button.iconClassName, \" \").concat(tab.button.label === activeLabel ? '_selected' : ''),\n onClick: tab.button.onClick\n }, tab.button.iconChildren));\n })));\n }\n }]);\n\n return RightbarTabs;\n}(React__default.Component);\nRightbarTabs.propTypes = {\n activeLabel: PropTypes__default.string,\n setActiveTab: PropTypes__default.func\n};\n\nvar css_248z$p = \".actionSelect-module_container__2RRiI {\\n position: relative;\\n z-index: 1;\\n display: inline-block;\\n vertical-align: top; }\\n\\n.actionSelect-module_content__3-e29 {\\n position: absolute;\\n top: 0;\\n left: 0; }\\n\";\nvar styles$n = {\"container\":\"actionSelect-module_container__2RRiI\",\"content\":\"actionSelect-module_content__3-e29\"};\nstyleInject(css_248z$p);\n\nfunction _createSuper$F(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$F(); return function _createSuperInternal() { var Super = getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$F() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar ActionSelect = /*#__PURE__*/function (_React$Component) {\n inherits(ActionSelect, _React$Component);\n\n var _super = _createSuper$F(ActionSelect);\n\n function ActionSelect() {\n classCallCheck(this, ActionSelect);\n\n return _super.apply(this, arguments);\n }\n\n createClass(ActionSelect, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n _this$props$className = _this$props.className,\n className = _this$props$className === void 0 ? '' : _this$props$className,\n _this$props$title = _this$props.title,\n title = _this$props$title === void 0 ? 'Change' : _this$props$title,\n actions = _this$props.actions;\n return /*#__PURE__*/React__default.createElement(Opener, {\n className: \"\".concat(styles$n.container, \" \").concat(className),\n btn: /*#__PURE__*/React__default.createElement(Button, {\n className: \"btn-round _conflower-blue\"\n }, /*#__PURE__*/React__default.createElement(\"span\", null, title), /*#__PURE__*/React__default.createElement(\"span\", {\n className: \"btn-content__icon\"\n }, /*#__PURE__*/React__default.createElement(Icon, {\n name: \"Expand\"\n }))),\n content: /*#__PURE__*/React__default.createElement(ActionMenu, {\n actions: actions\n }),\n contentClassName: styles$n.content,\n contentClose: false\n });\n }\n }]);\n\n return ActionSelect;\n}(React__default.Component);\nActionSelect.propTypes = {\n className: PropTypes.string,\n title: PropTypes.string,\n actions: PropTypes.array\n};\n\nvar css_248z$q = \":root {\\n --primary1: #123787;\\n --primary2: #1d58d7;\\n --primary3: #5173fb;\\n --primary4: #7a93ff;\\n --primary5: #c2d0ff;\\n --primary6: #e5ebff;\\n --primary7: #f2f5ff; }\\n\\n.imageCard-module_title__vmMzO {\\n font-family: 'Avenir Next Regular', sans-serif;\\n font-weight: normal;\\n font-size: 0.875rem;\\n line-height: 1.125em; }\\n\\n@keyframes imageCard-module_hover-ripples__3hkps {\\n 0% {\\n top: -0.1875em;\\n left: -0.1875em;\\n right: -0.1875em;\\n bottom: -0.1875em;\\n opacity: 1; }\\n 100% {\\n top: -0.8125em;\\n left: -0.8125em;\\n right: -0.8125em;\\n bottom: -0.8125em;\\n opacity: 0; } }\\n\\n.imageCard-module_container__2hW68 {\\n position: relative;\\n border-radius: .25rem;\\n border: 0.0625rem solid #cbcbcb;\\n box-shadow: 0 0 0.25rem 0 rgba(162, 162, 162, 0.5); }\\n .imageCard-module_container__2hW68._sub-content {\\n background-color: #f4f4f4; }\\n\\n.imageCard-module_wrapper__1mE5S {\\n cursor: pointer; }\\n\\n.imageCard-module_image__1MNuZ {\\n width: 100%;\\n height: 13.125rem;\\n line-height: 0;\\n position: relative;\\n border-bottom: 0.0625rem solid #e0e0e0; }\\n .imageCard-module_image__1MNuZ img {\\n object-fit: contain;\\n width: 100%;\\n height: 100%; }\\n .imageCard-module_image__1MNuZ svg {\\n width: 6.5em;\\n height: 6.5em;\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n transform: translate(-50%, -50%); }\\n\\n.imageCard-module_icon__3ho8J {\\n position: absolute;\\n bottom: 0;\\n transform: translateY(50%);\\n left: 1.5rem;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n margin: 0;\\n width: 2.25rem;\\n height: 2.25rem;\\n border-radius: 50%;\\n background: #ffffff;\\n line-height: 0;\\n box-shadow: 0 0 0.5rem 0 rgba(162, 162, 162, 0.5);\\n z-index: 1; }\\n .imageCard-module_icon__3ho8J svg {\\n width: 1.5rem; }\\n\\n.imageCard-module_content__1SrRP {\\n position: relative;\\n padding: 1rem 1.5rem;\\n border-radius: 0 0 .25rem .25rem;\\n background-color: #ffffff;\\n transition: background-color .25s; }\\n .imageCard-module_content__1SrRP:before {\\n cursor: pointer;\\n content: '';\\n position: absolute;\\n top: 0;\\n left: 0;\\n bottom: 0;\\n width: .5rem;\\n background-color: transparent;\\n transition: background-color .25s; }\\n\\n.imageCard-module_container__2hW68._selected .imageCard-module_content__1SrRP {\\n background-color: var(--primary6); }\\n .imageCard-module_container__2hW68._selected .imageCard-module_content__1SrRP:before {\\n background-color: var(--primary2); }\\n\\n.imageCard-module_header__3Zj1I {\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n margin-bottom: .75rem;\\n padding-top: 0.5rem;\\n padding-right: 1rem; }\\n\\n.imageCard-module_title__vmMzO {\\n font-family: 'Avenir Next Bold', sans-serif;\\n font-weight: normal;\\n word-break: break-word; }\\n\\n.imageCard-module_list__2Dkwv {\\n list-style: none;\\n margin: 0;\\n padding: 0; }\\n\\n.imageCard-module_item__1QPZn {\\n display: flex;\\n align-items: baseline;\\n font-family: 'Avenir Next Regular', sans-serif;\\n font-weight: normal;\\n font-size: .75rem;\\n line-height: 1.16667em;\\n color: #000000; }\\n .imageCard-module_item__1QPZn:not(:last-child) {\\n margin-bottom: .25rem; }\\n .imageCard-module_itemLabel__1VQGl {\\n display: block;\\n margin-right: .25rem;\\n color: #a2a2a2;\\n width: 5.625rem;\\n flex-shrink: 0; }\\n .imageCard-module_itemValue__3dXTv {\\n word-break: break-word; }\\n .imageCard-module_item__1QPZn a {\\n font-family: 'Avenir Next Regular', sans-serif;\\n font-weight: normal;\\n color: #000000;\\n text-decoration: underline; }\\n\\n.imageCard-module_menu__41UxI {\\n position: absolute !important;\\n top: 14rem;\\n right: 1rem; }\\n\\n.imageCard-module_loading__3oIII {\\n position: absolute;\\n background: rgba(0, 0, 0, 0.5);\\n cursor: default;\\n z-index: 1;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n display: flex;\\n justify-content: center;\\n align-items: center; }\\n .imageCard-module_loadingText__25FpV {\\n font-family: 'Avenir Next Regular', sans-serif;\\n font-weight: normal;\\n color: #ffffff; }\\n\";\nvar styles$o = {\"title\":\"imageCard-module_title__vmMzO\",\"container\":\"imageCard-module_container__2hW68\",\"wrapper\":\"imageCard-module_wrapper__1mE5S\",\"image\":\"imageCard-module_image__1MNuZ\",\"icon\":\"imageCard-module_icon__3ho8J\",\"content\":\"imageCard-module_content__1SrRP\",\"header\":\"imageCard-module_header__3Zj1I\",\"list\":\"imageCard-module_list__2Dkwv\",\"item\":\"imageCard-module_item__1QPZn\",\"itemLabel\":\"imageCard-module_itemLabel__1VQGl\",\"itemValue\":\"imageCard-module_itemValue__3dXTv\",\"menu\":\"imageCard-module_menu__41UxI\",\"loading\":\"imageCard-module_loading__3oIII\",\"loadingText\":\"imageCard-module_loadingText__25FpV\",\"hover-ripples\":\"imageCard-module_hover-ripples__3hkps\"};\nstyleInject(css_248z$q);\n\nvar css_248z$r = \":root {\\n --primary1: #123787;\\n --primary2: #1d58d7;\\n --primary3: #5173fb;\\n --primary4: #7a93ff;\\n --primary5: #c2d0ff;\\n --primary6: #e5ebff;\\n --primary7: #f2f5ff; }\\n\\n@keyframes imageCardCompact-module_hover-ripples__tkXIX {\\n 0% {\\n top: -0.1875em;\\n left: -0.1875em;\\n right: -0.1875em;\\n bottom: -0.1875em;\\n opacity: 1; }\\n 100% {\\n top: -0.8125em;\\n left: -0.8125em;\\n right: -0.8125em;\\n bottom: -0.8125em;\\n opacity: 0; } }\\n\\n.imageCardCompact-module_container__372Pe {\\n display: flex;\\n padding: .5rem;\\n background-color: #ffffff;\\n cursor: pointer;\\n transition: background-color .25s; }\\n .imageCardCompact-module_container__372Pe:hover {\\n background-color: var(--primary6); }\\n .imageCardCompact-module_container__372Pe._selected {\\n position: relative;\\n background-color: var(--primary6); }\\n .imageCardCompact-module_container__372Pe._selected:before {\\n content: '';\\n position: absolute;\\n top: 0;\\n left: 0;\\n bottom: 0;\\n pointer-events: none;\\n width: .25rem;\\n background-color: var(--primary2); }\\n\\n.imageCardCompact-module_image__2vvpE {\\n flex: 0 0 5rem;\\n margin-right: 1rem;\\n height: 3rem; }\\n .imageCardCompact-module_image__2vvpE img {\\n width: 100%;\\n height: 100%;\\n object-fit: contain; }\\n\\n.imageCardCompact-module_cardImage__2i7Rs {\\n width: 100%;\\n height: 100%; }\\n\\n.imageCardCompact-module_info__1iNO2 {\\n flex: 1 1 auto;\\n display: flex; }\\n\\n.imageCardCompact-module_item__2cxjc {\\n flex: 0 0 50%;\\n max-width: 50%; }\\n .imageCardCompact-module_item__2cxjc:not(:last-child) {\\n padding-right: .5rem; }\\n\\n.imageCardCompact-module_label__2NtQd {\\n margin-bottom: .25rem;\\n font-family: 'Avenir Next Regular', sans-serif;\\n font-weight: normal;\\n font-size: .75rem;\\n line-height: 1.16667em;\\n color: #666666; }\\n\\n.imageCardCompact-module_value__llE32 {\\n font-family: 'Avenir Next Regular', sans-serif;\\n font-weight: normal;\\n font-size: .75rem;\\n line-height: 1.16667em;\\n color: #000000;\\n word-break: break-word; }\\n\";\nvar styles$p = {\"container\":\"imageCardCompact-module_container__372Pe\",\"image\":\"imageCardCompact-module_image__2vvpE\",\"cardImage\":\"imageCardCompact-module_cardImage__2i7Rs\",\"info\":\"imageCardCompact-module_info__1iNO2\",\"item\":\"imageCardCompact-module_item__2cxjc\",\"label\":\"imageCardCompact-module_label__2NtQd\",\"value\":\"imageCardCompact-module_value__llE32\",\"hover-ripples\":\"imageCardCompact-module_hover-ripples__tkXIX\"};\nstyleInject(css_248z$r);\n\nvar css_248z$s = \":root {\\n --primary1: #123787;\\n --primary2: #1d58d7;\\n --primary3: #5173fb;\\n --primary4: #7a93ff;\\n --primary5: #c2d0ff;\\n --primary6: #e5ebff;\\n --primary7: #f2f5ff; }\\n\\n@keyframes cardImage-module_hover-ripples__1PgyJ {\\n 0% {\\n top: -0.1875em;\\n left: -0.1875em;\\n right: -0.1875em;\\n bottom: -0.1875em;\\n opacity: 1; }\\n 100% {\\n top: -0.8125em;\\n left: -0.8125em;\\n right: -0.8125em;\\n bottom: -0.8125em;\\n opacity: 0; } }\\n\\n.cardImage-module_container__1RBVw {\\n position: relative;\\n display: flex;\\n justify-content: center;\\n align-items: center; }\\n .cardImage-module_container__1RBVw img {\\n object-fit: contain;\\n width: 100%;\\n height: 100%; }\\n\\n.cardImage-module_loading__1qe-8 {\\n position: absolute;\\n z-index: 1;\\n top: 0;\\n left: 0;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n width: 100%;\\n height: 100%;\\n background: rgba(0, 0, 0, 0.5); }\\n .cardImage-module_loadingText__3Tjit {\\n font-family: 'Avenir Next Regular', sans-serif;\\n font-weight: normal;\\n color: #ffffff; }\\n\";\nvar styles$q = {\"container\":\"cardImage-module_container__1RBVw\",\"loading\":\"cardImage-module_loading__1qe-8\",\"loadingText\":\"cardImage-module_loadingText__3Tjit\",\"hover-ripples\":\"cardImage-module_hover-ripples__1PgyJ\"};\nstyleInject(css_248z$s);\n\nfunction _createSuper$G(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$G(); return function _createSuperInternal() { var Super = getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$G() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar CardImage = /*#__PURE__*/function (_React$Component) {\n inherits(CardImage, _React$Component);\n\n var _super = _createSuper$G(CardImage);\n\n function CardImage() {\n var _this;\n\n classCallCheck(this, CardImage);\n\n _this = _super.call(this);\n\n _this.onLoad = function () {\n return _this.setState({\n isLoading: false\n });\n };\n\n _this.onError = function () {\n return _this.setState({\n isError: true\n });\n };\n\n _this.state = {\n isLoading: true,\n isError: false\n };\n return _this;\n }\n\n createClass(CardImage, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n _this$props$className = _this$props.className,\n className = _this$props$className === void 0 ? '' : _this$props$className,\n src = _this$props.src,\n _this$props$noImageEl = _this$props.noImageElement,\n noImageElement = _this$props$noImageEl === void 0 ? /*#__PURE__*/React__default.createElement(Icon, {\n name: \"NoData\"\n }) : _this$props$noImageEl,\n _this$props$loadingMe = _this$props.loadingMessage,\n loadingMessage = _this$props$loadingMe === void 0 ? 'Loading...' : _this$props$loadingMe;\n var _this$state = this.state,\n isLoading = _this$state.isLoading,\n isError = _this$state.isError;\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(styles$q.container, \" \").concat(className)\n }, src ? /*#__PURE__*/React__default.createElement(\"img\", {\n src: src,\n alt: \"\",\n onLoad: this.onLoad,\n onError: this.onError\n }) : noImageElement, src && !isError && !!loadingMessage && isLoading ? /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$q.loading\n }, /*#__PURE__*/React__default.createElement(\"span\", {\n className: styles$q.loadingText\n }, loadingMessage)) : null);\n }\n }]);\n\n return CardImage;\n}(React__default.Component);\n\nvar css_248z$t = \":root {\\n --primary1: #123787;\\n --primary2: #1d58d7;\\n --primary3: #5173fb;\\n --primary4: #7a93ff;\\n --primary5: #c2d0ff;\\n --primary6: #e5ebff;\\n --primary7: #f2f5ff; }\\n\\n.skeleton-module_skeleton__11HVz {\\n display: block;\\n height: 1.75rem;\\n border-radius: 0.3125rem;\\n background-image: linear-gradient(90deg, #f4f4f4 0, #e8e8e8 2rem, #f4f4f4 4rem);\\n background-size: 200%;\\n background-position: 100%;\\n animation: skeleton-module_skeleton__11HVz 1.5s infinite linear; }\\n\\n@keyframes skeleton-module_skeleton__11HVz {\\n 0% {\\n background-position: 100%; }\\n 100% {\\n background-position: -100%; } }\\n\";\nvar styles$r = {\"skeleton\":\"skeleton-module_skeleton__11HVz\"};\nstyleInject(css_248z$t);\n\nvar Skeleton = function Skeleton(_ref) {\n var style = _ref.style;\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$r.skeleton,\n style: style\n });\n};\n\nvar ImageCardCompact = function ImageCardCompact(props) {\n var className = props.className,\n title = props.title,\n imageSrc = props.imageSrc,\n noImageElement = props.noImageElement,\n size = props.size,\n duration = props.duration,\n onClick = props.onClick,\n isSkeleton = props.isSkeleton;\n var label = '';\n var value = '';\n\n if (isSkeleton) {\n title = /*#__PURE__*/React__default.createElement(Skeleton, {\n style: {\n width: '75%',\n height: \"\".concat(14 / 16, \"rem\")\n }\n });\n label = /*#__PURE__*/React__default.createElement(Skeleton, {\n style: {\n width: '66%',\n height: \"\".concat(14 / 16, \"rem\")\n }\n });\n value = /*#__PURE__*/React__default.createElement(Skeleton, {\n style: {\n width: '75%',\n height: \"\".concat(14 / 16, \"rem\")\n }\n });\n } else {\n if (size) {\n label = 'Size';\n value = size;\n } else if (duration) {\n label = 'Duration';\n value = duration;\n }\n }\n\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(styles$p.container, \" \").concat(className),\n onClick: onClick\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$p.image\n }, !isSkeleton ? /*#__PURE__*/React__default.createElement(CardImage, {\n className: styles$p.cardImage,\n src: imageSrc,\n noImageElement: noImageElement\n }) : /*#__PURE__*/React__default.createElement(Skeleton, {\n style: {\n width: '100%',\n height: '100%'\n }\n })), /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$p.info\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$p.item\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$p.label\n }, !isSkeleton ? 'Name' : /*#__PURE__*/React__default.createElement(Skeleton, {\n style: {\n width: '66%',\n height: \"\".concat(14 / 16, \"rem\")\n }\n })), /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$p.value\n }, title)), !!label && /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$p.item\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$p.label\n }, label), /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$p.value\n }, value))));\n};\nImageCardCompact.propTypes = {\n className: PropTypes.string,\n imageSrc: PropTypes.string,\n noImageElement: PropTypes.element,\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n size: PropTypes.string,\n duration: PropTypes.number,\n onClick: PropTypes.func\n};\n\nvar css_248z$u = \":root {\\n --primary1: #123787;\\n --primary2: #1d58d7;\\n --primary3: #5173fb;\\n --primary4: #7a93ff;\\n --primary5: #c2d0ff;\\n --primary6: #e5ebff;\\n --primary7: #f2f5ff; }\\n\\n.ImageCardSubContent-js-module_container__2gbl4 {\\n padding: 1rem;\\n border-radius: 0 0 .25rem .25rem;\\n background: #f4f4f4; }\\n\";\nvar styles$s = {\"container\":\"ImageCardSubContent-js-module_container__2gbl4\"};\nstyleInject(css_248z$u);\n\nvar ImageCardSubContent = function ImageCardSubContent(props) {\n var _props$className = props.className,\n className = _props$className === void 0 ? '' : _props$className,\n textFields = props.textFields,\n close = props.close,\n save = props.save,\n disabled = props.disabled;\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(styles$s.container, \" \").concat(className)\n }, textFields.map(function (textField) {\n return /*#__PURE__*/React__default.createElement(TextField, {\n key: textField.label,\n className: \"mb-3\",\n label: textField.label,\n placeholder: textField.placeholder,\n value: textField.value,\n onChange: textField.onChange\n });\n }), /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"d-flex justify-content-end\"\n }, /*#__PURE__*/React__default.createElement(Button, {\n onClick: close,\n className: \"btn-square _md _cornflower-blue mr-2\"\n }, \"Cancel\"), /*#__PURE__*/React__default.createElement(Button, {\n className: \"btn-square _md _filled _cornflower-blue\",\n onClick: save,\n disabled: disabled\n }, \"Save Changes\")));\n};\nImageCardSubContent.propTypes = {\n className: PropTypes.string,\n textFields: PropTypes.array,\n close: PropTypes.func,\n save: PropTypes.func,\n disabled: PropTypes.bool\n};\n\nfunction _createSuper$H(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$H(); return function _createSuperInternal() { var Super = getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$H() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar ImageCard = /*#__PURE__*/function (_React$Component) {\n inherits(ImageCard, _React$Component);\n\n var _super = _createSuper$H(ImageCard);\n\n function ImageCard() {\n var _this;\n\n classCallCheck(this, ImageCard);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _this.onClick = function () {\n var _this$props = _this.props,\n isSubContentOpen = _this$props.isSubContentOpen,\n onClick = _this$props.onClick;\n\n if (isSubContentOpen) {\n return;\n }\n\n onClick();\n };\n\n _this.imageClickHandler = function (e) {\n var _this$props2 = _this.props,\n clickedOnImage = _this$props2.clickedOnImage,\n loadingMessage = _this$props2.loadingMessage;\n\n if (clickedOnImage && !loadingMessage) {\n e.stopPropagation();\n clickedOnImage();\n }\n };\n\n _this.getParamValue = function (label) {\n var params = _this.props.params;\n var param = params.find(function (param) {\n return param.label === label;\n });\n return param ? param.value : undefined;\n };\n\n _this.renderPreview = function () {\n var _this$props3 = _this.props,\n imageSrc = _this$props3.imageSrc,\n _this$props3$noImageE = _this$props3.noImageElement,\n noImageElement = _this$props3$noImageE === void 0 ? null : _this$props3$noImageE,\n loadingMessage = _this$props3.loadingMessage,\n iconName = _this$props3.iconName,\n isOnlyPreview = _this$props3.isOnlyPreview,\n _this$props3$previewC = _this$props3.previewClassName,\n previewClassName = _this$props3$previewC === void 0 ? '' : _this$props3$previewC;\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(styles$o.image, \" \").concat(previewClassName),\n onClick: _this.imageClickHandler\n }, imageSrc ? /*#__PURE__*/React__default.createElement(\"img\", {\n src: imageSrc,\n alt: \"\"\n }) : noImageElement, loadingMessage ? /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$o.loading\n }, /*#__PURE__*/React__default.createElement(\"span\", {\n className: styles$o.loadingText\n }, loadingMessage)) : null, !isOnlyPreview && iconName ? /*#__PURE__*/React__default.createElement(\"i\", {\n className: styles$o.icon\n }, /*#__PURE__*/React__default.createElement(Icon, {\n name: iconName\n })) : null);\n };\n\n return _this;\n }\n\n createClass(ImageCard, [{\n key: \"render\",\n value: function render() {\n var _this$props4 = this.props,\n className = _this$props4.className,\n title = _this$props4.title,\n imageSrc = _this$props4.imageSrc,\n _this$props4$actions = _this$props4.actions,\n actions = _this$props4$actions === void 0 ? [] : _this$props4$actions,\n _this$props4$params = _this$props4.params,\n params = _this$props4$params === void 0 ? [] : _this$props4$params,\n isSelected = _this$props4.isSelected,\n _this$props4$noImageE = _this$props4.noImageElement,\n noImageElement = _this$props4$noImageE === void 0 ? null : _this$props4$noImageE,\n isSubContentOpen = _this$props4.isSubContentOpen,\n subContentTextFields = _this$props4.subContentTextFields,\n subContent = _this$props4.subContent,\n toggleSubContent = _this$props4.toggleSubContent,\n isCompact = _this$props4.isCompact,\n isSkeleton = _this$props4.isSkeleton,\n isOnlyPreview = _this$props4.isOnlyPreview;\n var classNames = !isCompact ? [styles$o.container] : [];\n\n if (isSelected) {\n classNames.push('_selected');\n }\n\n if (isSubContentOpen) {\n classNames.push('_sub-content');\n }\n\n if (className) {\n classNames.push(className);\n }\n\n return !isOnlyPreview ? !isCompact ? /*#__PURE__*/React__default.createElement(\"div\", {\n className: classNames.join(' ')\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$o.wrapper,\n onClick: this.onClick\n }, this.renderPreview(), !isSubContentOpen ? /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$o.content\n }, /*#__PURE__*/React__default.createElement(\"header\", {\n className: styles$o.header\n }, /*#__PURE__*/React__default.createElement(\"h4\", {\n className: styles$o.title\n }, title)), /*#__PURE__*/React__default.createElement(\"ul\", {\n className: styles$o.list\n }, params.map(function (param, key) {\n return /*#__PURE__*/React__default.createElement(\"li\", {\n className: styles$o.item,\n key: typeof param.label === 'string' ? param.label : key\n }, /*#__PURE__*/React__default.createElement(\"span\", {\n className: styles$o.itemLabel\n }, param.label), /*#__PURE__*/React__default.createElement(\"span\", {\n className: styles$o.itemValue\n }, param.value));\n }))) : /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$o.subContent\n }, subContent || /*#__PURE__*/React__default.createElement(ImageCardSubContent, {\n textFields: subContentTextFields,\n close: toggleSubContent\n }))), actions.length && !isSubContentOpen ? /*#__PURE__*/React__default.createElement(ActionButton, {\n className: styles$o.menu,\n actions: actions\n }) : null) : /*#__PURE__*/React__default.createElement(ImageCardCompact, {\n isSkeleton: isSkeleton,\n className: classNames.join(' '),\n title: title,\n imageSrc: imageSrc,\n size: this.getParamValue('Size:'),\n duration: this.getParamValue('Duration:'),\n onClick: this.onClick,\n noImageElement: noImageElement\n }) : this.renderPreview();\n }\n }]);\n\n return ImageCard;\n}(React__default.Component);\nImageCard.propTypes = {\n className: PropTypes.string,\n imageSrc: PropTypes.string,\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n actions: PropTypes.array,\n params: PropTypes.array,\n isSelected: PropTypes.bool,\n onClick: PropTypes.func,\n noImageElement: PropTypes.element,\n iconName: PropTypes.string,\n clickedOnImage: PropTypes.func,\n loadingMessage: PropTypes.string,\n subContent: PropTypes.element,\n isSubContentOpen: PropTypes.bool,\n subContentTextFields: PropTypes.array,\n toggleSubContent: PropTypes.func,\n isCompact: PropTypes.bool,\n isSkeleton: PropTypes.bool,\n isOnlyPreview: PropTypes.bool,\n previewClassName: PropTypes.string\n};\n\nvar css_248z$v = \":root {\\n --primary1: #123787;\\n --primary2: #1d58d7;\\n --primary3: #5173fb;\\n --primary4: #7a93ff;\\n --primary5: #c2d0ff;\\n --primary6: #e5ebff;\\n --primary7: #f2f5ff; }\\n\\n@keyframes customerSelect-module_hover-ripples__2xNEC {\\n 0% {\\n top: -0.1875em;\\n left: -0.1875em;\\n right: -0.1875em;\\n bottom: -0.1875em;\\n opacity: 1; }\\n 100% {\\n top: -0.8125em;\\n left: -0.8125em;\\n right: -0.8125em;\\n bottom: -0.8125em;\\n opacity: 0; } }\\n\\n.customerSelect-module_btn-transparent__3dn7g {\\n padding: 0;\\n border: 0;\\n border-radius: 0;\\n background: none; }\\n .customerSelect-module_btn-transparent__3dn7g:focus {\\n outline: 0; }\\n\\n.customerSelect-module_opener__1d4qG {\\n position: relative;\\n display: inline-block; }\\n\\n.customerSelect-module_content__12pPg {\\n position: absolute;\\n z-index: 1;\\n top: 100%;\\n left: 50%;\\n transform: translateX(-50%);\\n width: 16.25rem; }\\n .customerSelect-module_content__12pPg.customerSelect-module__selected__2IKhJ {\\n top: 0; }\\n\\n.customerSelect-module_select__1VdJL.select .select__option:not(:last-child) {\\n border-bottom: 0.0625rem solid #f4f4f4; }\\n\\n.customerSelect-module_select__1VdJL.select .select__option-label {\\n padding: .25rem .75rem; }\\n\\n.customerSelect-module_option__2h4R9 {\\n display: flex;\\n align-items: center;\\n width: 100%; }\\n .customerSelect-module_option__2h4R9.customerSelect-module__selected__2IKhJ {\\n padding: 0 .75rem 0 .25rem;\\n width: 100%;\\n max-width: 15rem;\\n height: 2.25rem;\\n border: 0.0625rem solid #cbcbcb;\\n border-radius: .25rem;\\n cursor: pointer; }\\n\\n.customerSelect-module_icon__3vq1y {\\n flex: 0 0 1.5rem;\\n margin-right: .5rem;\\n padding: 0 .125rem;\\n line-height: 0; }\\n .customerSelect-module_icon__3vq1y svg {\\n width: 100%;\\n height: auto; }\\n\\n.customerSelect-module_image__29Bc0 {\\n flex: 0 0 1.5rem;\\n margin-right: .75rem;\\n width: 1.5rem;\\n height: 1.5rem;\\n border-radius: 50%;\\n overflow: hidden;\\n line-height: 0; }\\n .customerSelect-module_image__29Bc0:last-child {\\n margin: 0 0 0 .75rem; }\\n .customerSelect-module_image__29Bc0 img {\\n object-fit: cover;\\n width: 100%;\\n height: 100%; }\\n\\n.customerSelect-module_noImage__2Q5mu {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n width: 100%;\\n height: 100%;\\n background-color: #666666;\\n font-size: 1rem;\\n line-height: 1.15;\\n color: #ffffff;\\n text-transform: uppercase; }\\n\\n.customerSelect-module_info__3FBJ8 {\\n flex: 1 1 auto;\\n min-width: 0; }\\n\\n.customerSelect-module_info__3FBJ8,\\n.customerSelect-module_id__2pHYu,\\n.customerSelect-module_balance__2abbD {\\n font-size: .75rem;\\n line-height: 1.16667em;\\n color: #000000; }\\n\\n.customerSelect-module_label___d4uu,\\n.customerSelect-module_idLabel__bueDe,\\n.customerSelect-module_balanceLabel__15P59,\\n.customerSelect-module_email__1WwoR,\\n.customerSelect-module_idValue__2NU1p,\\n.customerSelect-module_balanceValue__2_Kug {\\n font-family: 'Avenir Next Regular', sans-serif;\\n font-weight: normal; }\\n\\n.customerSelect-module_label___d4uu,\\n.customerSelect-module_email__1WwoR,\\n.customerSelect-module_balanceValue__2_Kug {\\n overflow: hidden;\\n white-space: nowrap;\\n text-overflow: ellipsis; }\\n\\n.customerSelect-module_id__2pHYu,\\n.customerSelect-module_balance__2abbD {\\n flex: 0 0 auto;\\n margin-left: .75rem; }\\n\";\nvar styles$t = {\"btn-transparent\":\"customerSelect-module_btn-transparent__3dn7g\",\"opener\":\"customerSelect-module_opener__1d4qG\",\"content\":\"customerSelect-module_content__12pPg\",\"_selected\":\"customerSelect-module__selected__2IKhJ\",\"select\":\"customerSelect-module_select__1VdJL\",\"option\":\"customerSelect-module_option__2h4R9\",\"icon\":\"customerSelect-module_icon__3vq1y\",\"image\":\"customerSelect-module_image__29Bc0\",\"noImage\":\"customerSelect-module_noImage__2Q5mu\",\"info\":\"customerSelect-module_info__3FBJ8\",\"id\":\"customerSelect-module_id__2pHYu\",\"balance\":\"customerSelect-module_balance__2abbD\",\"label\":\"customerSelect-module_label___d4uu\",\"idLabel\":\"customerSelect-module_idLabel__bueDe\",\"balanceLabel\":\"customerSelect-module_balanceLabel__15P59\",\"email\":\"customerSelect-module_email__1WwoR\",\"idValue\":\"customerSelect-module_idValue__2NU1p\",\"balanceValue\":\"customerSelect-module_balanceValue__2_Kug\",\"hover-ripples\":\"customerSelect-module_hover-ripples__2xNEC\"};\nstyleInject(css_248z$v);\n\nfunction _createSuper$I(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$I(); return function _createSuperInternal() { var Super = getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$I() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nvar Image = /*#__PURE__*/function (_React$Component) {\n inherits(Image, _React$Component);\n\n var _super = _createSuper$I(Image);\n\n function Image(props) {\n var _this;\n\n classCallCheck(this, Image);\n\n _this = _super.call(this, props);\n\n _this.onError = function () {\n return _this.setState({\n isError: true\n });\n };\n\n _this.state = {\n isError: false\n };\n return _this;\n }\n\n createClass(Image, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n src = _this$props.src,\n name = _this$props.name;\n var isError = this.state.isError;\n return !isError ? /*#__PURE__*/React__default.createElement(\"img\", {\n src: src,\n alt: \"\",\n onError: this.onError\n }) : /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$t.noImage\n }, name[0]);\n }\n }]);\n\n return Image;\n}(React__default.Component);\n\nvar CustomerSelect = /*#__PURE__*/function (_Component) {\n inherits(CustomerSelect, _Component);\n\n var _super2 = _createSuper$I(CustomerSelect);\n\n function CustomerSelect() {\n var _this2;\n\n classCallCheck(this, CustomerSelect);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this2 = _super2.call.apply(_super2, [this].concat(args));\n\n _this2.getToggleContent = function (func) {\n _this2.toggleOpener = func;\n };\n\n _this2.closeOpener = function () {\n return _this2.toggleOpener(false);\n };\n\n _this2.renderOption = function (option) {\n var label = option.label,\n value = option.value,\n email = option.email,\n image = option.image;\n return {\n label: label,\n value: value,\n email: email,\n image: image,\n reactLabel: /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$t.option\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$t.image,\n key: \"\".concat(value, \"-image\")\n }, /*#__PURE__*/React__default.createElement(Image, {\n src: image,\n name: label\n })), /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$t.info,\n key: \"\".concat(value, \"-info\")\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$t.label,\n key: \"\".concat(value, \"-name\")\n }, label), /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$t.email,\n key: \"\".concat(value, \"-email\")\n }, email)), /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$t.id,\n key: \"\".concat(value, \"-id\")\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$t.idLabel,\n key: \"\".concat(value, \"-id-title\")\n }, \"ID\"), /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$t.idValue,\n key: \"\".concat(value, \"-id-value\")\n }, value)))\n };\n };\n\n _this2.transformedOptions = function (options) {\n return options.map(_this2.renderOption);\n };\n\n _this2.renderBtn = function () {\n var _this2$props = _this2.props,\n value = _this2$props.value,\n balance = _this2$props.balance;\n return !value ? /*#__PURE__*/React__default.createElement(ButtonCircle, {\n outline: true,\n iconName: \"People\",\n className: \"_size-24\"\n }) : /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(styles$t.option, \" \").concat(styles$t._selected)\n }, /*#__PURE__*/React__default.createElement(\"i\", {\n className: styles$t.icon\n }, /*#__PURE__*/React__default.createElement(Icon, {\n name: \"People\"\n })), /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$t.info\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$t.label\n }, value.label), /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$t.email\n }, value.email)), balance ? /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$t.balance\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$t.balanceLabel\n }, \"Balance\"), /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$t.balanceValue\n }, balance)) : null, /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$t.image\n }, /*#__PURE__*/React__default.createElement(Image, {\n src: value.image,\n name: value.label\n })));\n };\n\n _this2.renderList = function () {\n var _this2$props2 = _this2.props,\n _this2$props2$classNa = _this2$props2.className,\n className = _this2$props2$classNa === void 0 ? '' : _this2$props2$classNa,\n options = _this2$props2.options,\n value = _this2$props2.value,\n onChange = _this2$props2.onChange,\n selectSpecificProps = _this2$props2.selectSpecificProps,\n isSimpleBtn = _this2$props2.isSimpleBtn;\n var classNames = [styles$t.select];\n\n if (isSimpleBtn && className) {\n classNames.push(className);\n }\n\n return /*#__PURE__*/React__default.createElement(Select, _extends_1({\n className: classNames.join(' '),\n isAlwaysOpen: !isSimpleBtn,\n btnOnClick: !isSimpleBtn ? _this2.closeOpener : null,\n options: _this2.transformedOptions(options),\n value: value,\n isSearchable: true,\n isClearable: true,\n onChange: onChange,\n placeholder: \"Select Customer\"\n }, selectSpecificProps));\n };\n\n return _this2;\n }\n\n createClass(CustomerSelect, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n _this$props2$classNam = _this$props2.className,\n className = _this$props2$classNam === void 0 ? '' : _this$props2$classNam,\n value = _this$props2.value,\n isSimpleBtn = _this$props2.isSimpleBtn;\n return !isSimpleBtn ? /*#__PURE__*/React__default.createElement(Opener, {\n className: \"\".concat(styles$t.opener, \" \").concat(className),\n contentClassName: \"\".concat(styles$t.content, \" \").concat(value ? styles$t._selected : ''),\n getToggleContent: this.getToggleContent,\n btn: this.renderBtn(),\n content: this.renderList()\n }) : this.renderList();\n }\n }]);\n\n return CustomerSelect;\n}(Component);\nCustomerSelect.propTypes = {\n className: PropTypes__default.string,\n options: PropTypes__default.array,\n value: PropTypes__default.oneOfType([PropTypes__default.object, PropTypes__default.array]),\n onChange: PropTypes__default.func,\n balance: PropTypes__default.string,\n selectSpecificProps: PropTypes__default.object,\n isSimpleBtn: PropTypes__default.bool\n};\n\nvar css_248z$w = \":root {\\n --primary1: #123787;\\n --primary2: #1d58d7;\\n --primary3: #5173fb;\\n --primary4: #7a93ff;\\n --primary5: #c2d0ff;\\n --primary6: #e5ebff;\\n --primary7: #f2f5ff; }\\n\\n.progressCircle-module_container__2-wy8 {\\n display: inline-block;\\n vertical-align: top;\\n width: 4rem;\\n height: 4rem;\\n position: relative; }\\n\\n.progressCircle-module_track__1l8v0 {\\n width: 4rem;\\n height: 4rem;\\n border: 0.25rem solid #dddddd;\\n border-radius: 50%; }\\n\\n.progressCircle-module_fills__1d1-t {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n will-change: transform;\\n transform: translateZ(0);\\n animation: progressCircle-module_spectrum-fills-rotate__25K9a 1s infinite cubic-bezier(0.25, 0.78, 0.48, 0.89);\\n transform-origin: center; }\\n\\n@keyframes progressCircle-module_spectrum-fills-rotate__25K9a {\\n 0% {\\n transform: rotate(-90deg); }\\n 100% {\\n transform: rotate(270deg); } }\\n\\n.progressCircle-module_mask__26Px8 {\\n width: 50%;\\n height: 100%;\\n transform-origin: 100% center;\\n transform: rotate(180deg);\\n overflow: hidden;\\n position: absolute; }\\n\\n.progressCircle-module_subMask1__rXA7c {\\n will-change: transform;\\n animation: progressCircle-module_spectrum-fill-mask-1__3-PfY 1s infinite linear;\\n width: 100%;\\n height: 100%;\\n transform-origin: 100% center;\\n overflow: hidden; }\\n\\n.progressCircle-module_subMask2__36BGd {\\n will-change: transform;\\n animation: progressCircle-module_spectrum-fill-mask-2___l0oY 1s infinite linear;\\n width: 100%;\\n height: 100%;\\n transform-origin: 100% center;\\n overflow: hidden; }\\n\\n.progressCircle-module_fill__d80pt {\\n width: 4rem;\\n height: 4rem;\\n border: 0.25rem solid var(--primary2);\\n border-radius: 50%; }\\n\\n@keyframes progressCircle-module_spectrum-fill-mask-1__3-PfY {\\n 0% {\\n transform: rotate(90deg); }\\n 1.69% {\\n transform: rotate(72.3deg); }\\n 3.39% {\\n transform: rotate(55.5deg); }\\n 5.08% {\\n transform: rotate(40.3deg); }\\n 6.78% {\\n transform: rotate(25deg); }\\n 8.47% {\\n transform: rotate(10.6deg); }\\n 10.17% {\\n transform: rotate(0deg); }\\n 11.86% {\\n transform: rotate(0deg); }\\n 13.56% {\\n transform: rotate(0deg); }\\n 15.25% {\\n transform: rotate(0deg); }\\n 16.95% {\\n transform: rotate(0deg); }\\n 18.64% {\\n transform: rotate(0deg); }\\n 20.34% {\\n transform: rotate(0deg); }\\n 22.03% {\\n transform: rotate(0deg); }\\n 23.73% {\\n transform: rotate(0deg); }\\n 25.42% {\\n transform: rotate(0deg); }\\n 27.12% {\\n transform: rotate(0deg); }\\n 28.81% {\\n transform: rotate(0deg); }\\n 30.51% {\\n transform: rotate(0deg); }\\n 32.2% {\\n transform: rotate(0deg); }\\n 33.9% {\\n transform: rotate(0deg); }\\n 35.59% {\\n transform: rotate(0deg); }\\n 37.29% {\\n transform: rotate(0deg); }\\n 38.98% {\\n transform: rotate(0deg); }\\n 40.68% {\\n transform: rotate(0deg); }\\n 42.37% {\\n transform: rotate(5.3deg); }\\n 44.07% {\\n transform: rotate(13.4deg); }\\n 45.76% {\\n transform: rotate(20.6deg); }\\n 47.46% {\\n transform: rotate(29deg); }\\n 49.15% {\\n transform: rotate(36.5deg); }\\n 50.85% {\\n transform: rotate(42.6deg); }\\n 52.54% {\\n transform: rotate(48.8deg); }\\n 54.24% {\\n transform: rotate(54.2deg); }\\n 55.93% {\\n transform: rotate(59.4deg); }\\n 57.63% {\\n transform: rotate(63.2deg); }\\n 59.32% {\\n transform: rotate(67.2deg); }\\n 61.02% {\\n transform: rotate(70.8deg); }\\n 62.71% {\\n transform: rotate(73.8deg); }\\n 64.41% {\\n transform: rotate(76.2deg); }\\n 66.1% {\\n transform: rotate(78.7deg); }\\n 67.8% {\\n transform: rotate(80.6deg); }\\n 69.49% {\\n transform: rotate(82.6deg); }\\n 71.19% {\\n transform: rotate(83.7deg); }\\n 72.88% {\\n transform: rotate(85deg); }\\n 74.58% {\\n transform: rotate(86.3deg); }\\n 76.27% {\\n transform: rotate(87deg); }\\n 77.97% {\\n transform: rotate(87.7deg); }\\n 79.66% {\\n transform: rotate(88.3deg); }\\n 81.36% {\\n transform: rotate(88.6deg); }\\n 83.05% {\\n transform: rotate(89.2deg); }\\n 84.75% {\\n transform: rotate(89.2deg); }\\n 86.44% {\\n transform: rotate(89.5deg); }\\n 88.14% {\\n transform: rotate(89.9deg); }\\n 89.83% {\\n transform: rotate(89.7deg); }\\n 91.53% {\\n transform: rotate(90.1deg); }\\n 93.22% {\\n transform: rotate(90.2deg); }\\n 94.92% {\\n transform: rotate(90.1deg); }\\n 96.61% {\\n transform: rotate(90deg); }\\n 98.31% {\\n transform: rotate(89.8deg); }\\n 100% {\\n transform: rotate(90deg); } }\\n\\n@keyframes progressCircle-module_spectrum-fill-mask-2___l0oY {\\n 0% {\\n transform: rotate(180deg); }\\n 1.69% {\\n transform: rotate(180deg); }\\n 3.39% {\\n transform: rotate(180deg); }\\n 5.08% {\\n transform: rotate(180deg); }\\n 6.78% {\\n transform: rotate(180deg); }\\n 8.47% {\\n transform: rotate(180deg); }\\n 10.17% {\\n transform: rotate(179.2deg); }\\n 11.86% {\\n transform: rotate(164deg); }\\n 13.56% {\\n transform: rotate(151.8deg); }\\n 15.25% {\\n transform: rotate(140.8deg); }\\n 16.95% {\\n transform: rotate(130.3deg); }\\n 18.64% {\\n transform: rotate(120.4deg); }\\n 20.34% {\\n transform: rotate(110.8deg); }\\n 22.03% {\\n transform: rotate(101.6deg); }\\n 23.73% {\\n transform: rotate(93.5deg); }\\n 25.42% {\\n transform: rotate(85.4deg); }\\n 27.12% {\\n transform: rotate(78.1deg); }\\n 28.81% {\\n transform: rotate(71.2deg); }\\n 30.51% {\\n transform: rotate(89.1deg); }\\n 32.2% {\\n transform: rotate(105.5deg); }\\n 33.9% {\\n transform: rotate(121.3deg); }\\n 35.59% {\\n transform: rotate(135.5deg); }\\n 37.29% {\\n transform: rotate(148.4deg); }\\n 38.98% {\\n transform: rotate(161deg); }\\n 40.68% {\\n transform: rotate(173.5deg); }\\n 42.37% {\\n transform: rotate(180deg); }\\n 44.07% {\\n transform: rotate(180deg); }\\n 45.76% {\\n transform: rotate(180deg); }\\n 47.46% {\\n transform: rotate(180deg); }\\n 49.15% {\\n transform: rotate(180deg); }\\n 50.85% {\\n transform: rotate(180deg); }\\n 52.54% {\\n transform: rotate(180deg); }\\n 54.24% {\\n transform: rotate(180deg); }\\n 55.93% {\\n transform: rotate(180deg); }\\n 57.63% {\\n transform: rotate(180deg); }\\n 59.32% {\\n transform: rotate(180deg); }\\n 61.02% {\\n transform: rotate(180deg); }\\n 62.71% {\\n transform: rotate(180deg); }\\n 64.41% {\\n transform: rotate(180deg); }\\n 66.1% {\\n transform: rotate(180deg); }\\n 67.8% {\\n transform: rotate(180deg); }\\n 69.49% {\\n transform: rotate(180deg); }\\n 71.19% {\\n transform: rotate(180deg); }\\n 72.88% {\\n transform: rotate(180deg); }\\n 74.58% {\\n transform: rotate(180deg); }\\n 76.27% {\\n transform: rotate(180deg); }\\n 77.97% {\\n transform: rotate(180deg); }\\n 79.66% {\\n transform: rotate(180deg); }\\n 81.36% {\\n transform: rotate(180deg); }\\n 83.05% {\\n transform: rotate(180deg); }\\n 84.75% {\\n transform: rotate(180deg); }\\n 86.44% {\\n transform: rotate(180deg); }\\n 88.14% {\\n transform: rotate(180deg); }\\n 89.83% {\\n transform: rotate(180deg); }\\n 91.53% {\\n transform: rotate(180deg); }\\n 93.22% {\\n transform: rotate(180deg); }\\n 94.92% {\\n transform: rotate(180deg); }\\n 96.61% {\\n transform: rotate(180deg); }\\n 98.31% {\\n transform: rotate(180deg); }\\n 100% {\\n transform: rotate(180deg); } }\\n\";\nvar styles$u = {\"container\":\"progressCircle-module_container__2-wy8\",\"track\":\"progressCircle-module_track__1l8v0\",\"fills\":\"progressCircle-module_fills__1d1-t\",\"spectrum-fills-rotate\":\"progressCircle-module_spectrum-fills-rotate__25K9a\",\"mask\":\"progressCircle-module_mask__26Px8\",\"subMask1\":\"progressCircle-module_subMask1__rXA7c\",\"spectrum-fill-mask-1\":\"progressCircle-module_spectrum-fill-mask-1__3-PfY\",\"subMask2\":\"progressCircle-module_subMask2__36BGd\",\"spectrum-fill-mask-2\":\"progressCircle-module_spectrum-fill-mask-2___l0oY\",\"fill\":\"progressCircle-module_fill__d80pt\"};\nstyleInject(css_248z$w);\n\nfunction ownKeys$b(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$b(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$b(Object(source), true).forEach(function (key) { defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$b(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nvar ProgressCircle = function ProgressCircle(props) {\n var _props$className = props.className,\n className = _props$className === void 0 ? '' : _props$className,\n _props$size = props.size,\n size = _props$size === void 0 ? 64 : _props$size,\n _props$borderWidth = props.borderWidth,\n borderWidth = _props$borderWidth === void 0 ? 4 : _props$borderWidth;\n var style = {\n width: \"\".concat(size / 16, \"rem\"),\n height: \"\".concat(size / 16, \"rem\")\n };\n\n var borderStyle = _objectSpread$b(_objectSpread$b({}, style), {}, {\n borderWidth: \"\".concat(borderWidth / 16, \"rem\")\n });\n\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(styles$u.container, \" \").concat(className),\n style: style\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$u.track,\n style: borderStyle\n }), /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$u.fills\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(styles$u.mask, \" \").concat(styles$u.mask1)\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$u.subMask1\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$u.fill,\n style: borderStyle\n }))), /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(styles$u.mask, \" \").concat(styles$u.mask2)\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$u.subMask2\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$u.fill,\n style: borderStyle\n })))));\n};\nProgressCircle.propTypes = {\n className: PropTypes.string,\n size: PropTypes.number,\n borderWidth: PropTypes.number\n};\n\nvar css_248z$x = \":root {\\n --primary1: #123787;\\n --primary2: #1d58d7;\\n --primary3: #5173fb;\\n --primary4: #7a93ff;\\n --primary5: #c2d0ff;\\n --primary6: #e5ebff;\\n --primary7: #f2f5ff; }\\n\\n.successCircle-module_container__2JZ0w {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n width: 4rem;\\n height: 4rem;\\n border: 0.25rem solid #3F9B34;\\n border-radius: 50%; }\\n\\n.successCircle-module_translator__1Qxqj {\\n transform: translate(-17.67767%, -35.35534%); }\\n\\n.successCircle-module_rotator__eyE95 {\\n position: relative;\\n width: 1.5rem;\\n height: 1.5rem;\\n transform: rotate(45deg); }\\n\\n.successCircle-module_line__7zF2B {\\n position: absolute;\\n border-radius: 0.0625rem;\\n background-color: #3F9B34;\\n animation-duration: .25s;\\n animation-fill-mode: forwards; }\\n\\n.successCircle-module_line1__1LIkS {\\n bottom: 0;\\n left: 50%;\\n right: 0;\\n height: .125rem;\\n width: 0;\\n animation-name: successCircle-module_line1-animation__2gYXe;\\n animation-timing-function: ease-in;\\n animation-delay: .5s; }\\n\\n.successCircle-module_line2__11Cgp {\\n bottom: 0;\\n right: 0;\\n width: .125rem;\\n height: 0;\\n animation-name: successCircle-module_line2-animation__2a-vD;\\n animation-timing-function: ease-out;\\n animation-delay: .75s; }\\n\\n@keyframes successCircle-module_line1-animation__2gYXe {\\n 0% {\\n width: 0; }\\n 100% {\\n width: 50%; } }\\n\\n@keyframes successCircle-module_line2-animation__2a-vD {\\n 0% {\\n height: 0; }\\n 100% {\\n height: 100%; } }\\n\";\nvar styles$v = {\"container\":\"successCircle-module_container__2JZ0w\",\"translator\":\"successCircle-module_translator__1Qxqj\",\"rotator\":\"successCircle-module_rotator__eyE95\",\"line\":\"successCircle-module_line__7zF2B\",\"line1\":\"successCircle-module_line1__1LIkS\",\"line1-animation\":\"successCircle-module_line1-animation__2gYXe\",\"line2\":\"successCircle-module_line2__11Cgp\",\"line2-animation\":\"successCircle-module_line2-animation__2a-vD\"};\nstyleInject(css_248z$x);\n\nvar SuccessCircle = function SuccessCircle(props) {\n var _props$className = props.className,\n className = _props$className === void 0 ? '' : _props$className,\n _props$size = props.size,\n size = _props$size === void 0 ? 64 : _props$size,\n _props$borderWidth = props.borderWidth,\n borderWidth = _props$borderWidth === void 0 ? 4 : _props$borderWidth,\n _props$lineWidth = props.lineWidth,\n lineWidth = _props$lineWidth === void 0 ? 2 : _props$lineWidth;\n var containerStyle = {\n width: \"\".concat(size / 16, \"rem\"),\n height: \"\".concat(size / 16, \"rem\"),\n borderWidth: \"\".concat(borderWidth / 16, \"rem\")\n };\n var rotatorStyle = {\n width: \"\".concat(size * .375 / 16, \"rem\"),\n height: \"\".concat(size * .375 / 16, \"rem\")\n };\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(styles$v.container, \" \").concat(className),\n style: containerStyle\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$v.translator\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$v.rotator,\n style: rotatorStyle\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(styles$v.line, \" \").concat(styles$v.line1),\n style: {\n height: \"\".concat(lineWidth / 16, \"rem\")\n }\n }), /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(styles$v.line, \" \").concat(styles$v.line2),\n style: {\n width: \"\".concat(lineWidth / 16, \"rem\")\n }\n }))));\n};\nSuccessCircle.propTypes = {\n className: PropTypes.string,\n size: PropTypes.number,\n borderWidth: PropTypes.number,\n lineWidth: PropTypes.number\n};\n\nvar css_248z$y = \":root {\\n --primary1: #123787;\\n --primary2: #1d58d7;\\n --primary3: #5173fb;\\n --primary4: #7a93ff;\\n --primary5: #c2d0ff;\\n --primary6: #e5ebff;\\n --primary7: #f2f5ff; }\\n\\n.errorCircle-module_container__1ZhjT {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n width: 4rem;\\n height: 4rem;\\n border: 0.25rem solid #FF5859;\\n border-radius: 50%; }\\n\\n.errorCircle-module_wrapper__2xQew {\\n position: relative;\\n width: 2rem;\\n height: 2rem;\\n transform: rotate(45deg); }\\n\\n.errorCircle-module_line__3FW3N {\\n position: absolute;\\n border-radius: 0.0625rem;\\n background-color: #FF5859;\\n animation-duration: .25s;\\n animation-fill-mode: forwards; }\\n\\n.errorCircle-module_line1__-tHb8 {\\n top: 50%;\\n left: 0;\\n height: .125rem;\\n width: 0;\\n transform: translateY(-50%);\\n animation-name: errorCircle-module_line1-animation__3glXU;\\n animation-timing-function: ease-in;\\n animation-delay: .5s; }\\n\\n.errorCircle-module_line2__3IK6r {\\n top: 0;\\n left: 50%;\\n width: .125rem;\\n height: 0;\\n transform: translateX(-50%);\\n animation-name: errorCircle-module_line2-animation__1ftIT;\\n animation-timing-function: ease-out;\\n animation-delay: .75s; }\\n\\n@keyframes errorCircle-module_line1-animation__3glXU {\\n 0% {\\n width: 0; }\\n 100% {\\n width: 100%; } }\\n\\n@keyframes errorCircle-module_line2-animation__1ftIT {\\n 0% {\\n height: 0; }\\n 100% {\\n height: 100%; } }\\n\";\nvar styles$w = {\"container\":\"errorCircle-module_container__1ZhjT\",\"wrapper\":\"errorCircle-module_wrapper__2xQew\",\"line\":\"errorCircle-module_line__3FW3N\",\"line1\":\"errorCircle-module_line1__-tHb8\",\"line1-animation\":\"errorCircle-module_line1-animation__3glXU\",\"line2\":\"errorCircle-module_line2__3IK6r\",\"line2-animation\":\"errorCircle-module_line2-animation__1ftIT\"};\nstyleInject(css_248z$y);\n\nvar ErrorCircle = function ErrorCircle(props) {\n var _props$className = props.className,\n className = _props$className === void 0 ? '' : _props$className,\n _props$size = props.size,\n size = _props$size === void 0 ? 64 : _props$size,\n _props$borderWidth = props.borderWidth,\n borderWidth = _props$borderWidth === void 0 ? 4 : _props$borderWidth,\n _props$lineWidth = props.lineWidth,\n lineWidth = _props$lineWidth === void 0 ? 2 : _props$lineWidth;\n var containerStyle = {\n width: \"\".concat(size / 16, \"rem\"),\n height: \"\".concat(size / 16, \"rem\"),\n borderWidth: \"\".concat(borderWidth / 16, \"rem\")\n };\n var rotatorStyle = {\n width: \"\".concat(size * .5 / 16, \"rem\"),\n height: \"\".concat(size * .5 / 16, \"rem\")\n };\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(styles$w.container, \" \").concat(className),\n style: containerStyle\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$w.wrapper,\n style: rotatorStyle\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(styles$w.line, \" \").concat(styles$w.line1),\n style: {\n height: \"\".concat(lineWidth / 16, \"rem\")\n }\n }), /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(styles$w.line, \" \").concat(styles$w.line2),\n style: {\n width: \"\".concat(lineWidth / 16, \"rem\")\n }\n })));\n};\nErrorCircle.propTypes = {\n className: PropTypes.string,\n size: PropTypes.number,\n borderWidth: PropTypes.number,\n lineWidth: PropTypes.number\n};\n\nfunction _createSuper$J(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$J(); return function _createSuperInternal() { var Super = getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$J() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar URLTextField = /*#__PURE__*/function (_React$Component) {\n inherits(URLTextField, _React$Component);\n\n var _super = _createSuper$J(URLTextField);\n\n function URLTextField() {\n var _this;\n\n classCallCheck(this, URLTextField);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _this.onBlur = function (event) {\n var _this$props = _this.props,\n validationRules = _this$props.validationRules,\n value = _this$props.value,\n onBlur = _this$props.onBlur,\n onChange = _this$props.onChange;\n\n if (validationRules && validationRules.some(function (rule) {\n return !rule.func(value);\n })) {\n return;\n } else if (value && value.trim() && !/^(?:f|ht)tps?:\\/\\//.test(value)) {\n onChange(\"https://\".concat(value));\n }\n\n if (onBlur) {\n onBlur(event);\n }\n };\n\n return _this;\n }\n\n createClass(URLTextField, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React__default.createElement(TextField, _extends_1({}, this.props, {\n onBlur: this.onBlur\n }));\n }\n }]);\n\n return URLTextField;\n}(React__default.Component);\nURLTextField.propTypes = {\n validationRules: PropTypes__default.arrayOf(PropTypes__default.object),\n onChange: PropTypes__default.func,\n onBlur: PropTypes__default.func,\n value: PropTypes__default.string\n};\n\nvar css_248z$z = \":root {\\n --primary1: #123787;\\n --primary2: #1d58d7;\\n --primary3: #5173fb;\\n --primary4: #7a93ff;\\n --primary5: #c2d0ff;\\n --primary6: #e5ebff;\\n --primary7: #f2f5ff; }\\n\\n.FileUploader-module_sample__2DvZy, .FileUploader-module_text__12oLP {\\n font-family: 'Avenir Next Regular', sans-serif;\\n font-weight: normal;\\n font-size: 0.875rem;\\n line-height: 1.125em; }\\n\\n@keyframes FileUploader-module_hover-ripples__2yd9Q {\\n 0% {\\n top: -0.1875em;\\n left: -0.1875em;\\n right: -0.1875em;\\n bottom: -0.1875em;\\n opacity: 1; }\\n 100% {\\n top: -0.8125em;\\n left: -0.8125em;\\n right: -0.8125em;\\n bottom: -0.8125em;\\n opacity: 0; } }\\n\\n.FileUploader-module_container__1wMjM {\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n padding: 2rem 1rem;\\n width: 100%;\\n border: 0.0625rem dashed #cbcbcb; }\\n .FileUploader-module_container__1wMjM:hover {\\n border-color: var(--primary2); }\\n .FileUploader-module_container__1wMjM:hover .FileUploader-module_text__12oLP {\\n color: var(--primary2); }\\n .FileUploader-module_container__1wMjM.FileUploader-module_error__1b9X- .FileUploader-module_notice__3tfAK {\\n color: #FF5859; }\\n .FileUploader-module_container__1wMjM.FileUploader-module_error__1b9X- .FileUploader-module_notice__3tfAK ol {\\n padding: 0;\\n list-style-position: inside; }\\n\\n.FileUploader-module_file__1G3TC {\\n display: flex;\\n flex-direction: column;\\n align-items: stretch; }\\n\\n.FileUploader-module_fileInput__1TvB1 {\\n display: none; }\\n\\n.FileUploader-module_droppable__pbVBK {\\n border-color: #6075ff; }\\n\\n.FileUploader-module_browseButton__3rEVi.btn-square svg {\\n width: 1rem;\\n height: auto; }\\n\\n.FileUploader-module_sample__2DvZy {\\n padding: 0;\\n border: 0;\\n border-radius: 0;\\n background: none;\\n text-decoration: underline;\\n cursor: pointer;\\n color: #000000;\\n margin-left: 1rem; }\\n .FileUploader-module_sample__2DvZy:focus {\\n outline: 0; }\\n .FileUploader-module_sample__2DvZy.FileUploader-module_Last__3QXw0 {\\n margin: 0; }\\n\\n.FileUploader-module_text__12oLP {\\n margin-bottom: .375rem;\\n color: #a2a2a2;\\n text-align: center; }\\n\\n.FileUploader-module_notice__3tfAK {\\n font-family: 'Avenir Next Regular', sans-serif;\\n font-weight: normal;\\n margin-top: 1rem;\\n max-width: 100%;\\n font-size: .625rem;\\n line-height: 1.2em;\\n text-align: center;\\n color: #a2a2a2; }\\n\";\nvar styles$x = {\"sample\":\"FileUploader-module_sample__2DvZy\",\"text\":\"FileUploader-module_text__12oLP\",\"container\":\"FileUploader-module_container__1wMjM\",\"error\":\"FileUploader-module_error__1b9X-\",\"notice\":\"FileUploader-module_notice__3tfAK\",\"file\":\"FileUploader-module_file__1G3TC\",\"fileInput\":\"FileUploader-module_fileInput__1TvB1\",\"droppable\":\"FileUploader-module_droppable__pbVBK\",\"browseButton\":\"FileUploader-module_browseButton__3rEVi\",\"Last\":\"FileUploader-module_Last__3QXw0\",\"hover-ripples\":\"FileUploader-module_hover-ripples__2yd9Q\"};\nstyleInject(css_248z$z);\n\nfunction _createSuper$K(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$K(); return function _createSuperInternal() { var Super = getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$K() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar FileUploader = /*#__PURE__*/function (_React$Component) {\n inherits(FileUploader, _React$Component);\n\n var _super = _createSuper$K(FileUploader);\n\n function FileUploader(props) {\n var _this;\n\n classCallCheck(this, FileUploader);\n\n _this = _super.call(this, props);\n\n _this.handleDropInput = function (event) {\n var onFileUploaded = _this.props.onFileUploaded;\n event.stopPropagation();\n event.preventDefault();\n\n if (_this.fileContainerElement.current) {\n _this.fileContainerElement.current.classList.remove(styles$x.droppable);\n }\n\n if (onFileUploaded) {\n onFileUploaded(event.dataTransfer.files);\n }\n };\n\n _this.handleBrowseInput = function (event) {\n var onFileUploaded = _this.props.onFileUploaded;\n\n if (onFileUploaded && event.target.files) {\n onFileUploaded(event.target.files);\n }\n };\n\n _this.handleDragOver = function (event) {\n event.preventDefault();\n\n if (_this.fileContainerElement.current) {\n _this.fileContainerElement.current.classList.add(styles$x.droppable);\n }\n };\n\n _this.handleDragEnd = function (event) {\n event.preventDefault();\n\n if (_this.fileContainerElement.current) {\n _this.fileContainerElement.current.classList.remove(styles$x.droppable);\n }\n };\n\n _this.fileContainerElement = /*#__PURE__*/React__default.createRef();\n return _this;\n }\n\n createClass(FileUploader, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n className = _this$props.className,\n _this$props$getInputR = _this$props.getInputRef,\n getInputRef = _this$props$getInputR === void 0 ? null : _this$props$getInputR,\n browseFileButtonTitle = _this$props.browseFileButtonTitle,\n tooltipParams = _this$props.tooltipParams,\n isMultiple = _this$props.isMultiple,\n isError = _this$props.isError,\n exampleDataURL = _this$props.exampleDataURL,\n accept = _this$props.accept,\n title = _this$props.title,\n notice = _this$props.notice,\n dragDropText = _this$props.dragDropText,\n _this$props$browseBtn = _this$props.browseBtnClassName,\n browseBtnClassName = _this$props$browseBtn === void 0 ? '' : _this$props$browseBtn,\n _this$props$isSampleA = _this$props.isSampleAtBottom,\n isSampleAtBottom = _this$props$isSampleA === void 0 ? false : _this$props$isSampleA;\n var fullClassNames = [styles$x.container];\n\n if (isError) {\n fullClassNames.push(styles$x.error);\n }\n\n if (className) {\n fullClassNames.push(className);\n }\n\n var label = /*#__PURE__*/React__default.createElement(\"label\", {\n className: \"btn-square _cornflower-blue \".concat(browseBtnClassName, \" \").concat(styles$x.browseButton),\n htmlFor: browseFileButtonTitle\n }, /*#__PURE__*/React__default.createElement(\"span\", {\n className: \"btn-content\"\n }, /*#__PURE__*/React__default.createElement(\"span\", {\n className: \"btn-content__icon\"\n }, /*#__PURE__*/React__default.createElement(Icon, {\n name: \"Upload\"\n })), /*#__PURE__*/React__default.createElement(\"span\", null, browseFileButtonTitle)));\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: fullClassNames.join(' '),\n onDrop: this.handleDropInput,\n onDragOver: this.handleDragOver,\n onDragLeave: this.handleDragEnd,\n ref: this.fileContainerElement\n }, title && /*#__PURE__*/React__default.createElement(\"div\", null, title), /*#__PURE__*/React__default.createElement(\"input\", {\n className: styles$x.fileInput,\n type: \"file\",\n id: browseFileButtonTitle,\n onChange: this.handleBrowseInput,\n value: \"\",\n multiple: isMultiple,\n accept: accept,\n ref: getInputRef\n }), /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"d-flex align-items-center mb-2\"\n }, tooltipParams ? /*#__PURE__*/React__default.createElement(Tooltip, {\n label: tooltipParams.label,\n auto: !tooltipParams.position,\n labelMaxWidth: tooltipParams.labelMaxWidth,\n position: tooltipParams.position\n }, label) : label, exampleDataURL && !isSampleAtBottom ? /*#__PURE__*/React__default.createElement(\"a\", {\n href: exampleDataURL,\n download: true,\n className: styles$x.sample\n }, \"Sample File\") : null), /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$x.text\n }, dragDropText), /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$x.notice\n }, notice), exampleDataURL && isSampleAtBottom ? /*#__PURE__*/React__default.createElement(\"a\", {\n href: exampleDataURL,\n download: true,\n className: \"\".concat(styles$x.sample, \" \").concat(styles$x.Last)\n }, \"Sample File\") : null);\n }\n }]);\n\n return FileUploader;\n}(React__default.Component);\nFileUploader.defaultProps = {\n accept: '*',\n browseFileButtonTitle: 'Upload',\n dragDropText: 'Drag and Drop',\n notice: ''\n};\nFileUploader.propTypes = {\n className: PropTypes__default.string,\n browseFileButtonTitle: PropTypes__default.string,\n onFileUploaded: PropTypes__default.func,\n tooltipParams: PropTypes__default.shape({\n label: PropTypes__default.string,\n labelMaxWidth: PropTypes__default.number,\n position: PropTypes__default.string\n }),\n getInputRef: PropTypes__default.func,\n isMultiple: PropTypes__default.bool,\n isError: PropTypes__default.bool,\n exampleDataURL: PropTypes__default.string,\n accept: PropTypes__default.string,\n title: PropTypes__default.oneOfType([PropTypes__default.string, PropTypes__default.node]),\n notice: PropTypes__default.oneOfType([PropTypes__default.string, PropTypes__default.node]),\n dragDropText: PropTypes__default.string,\n browseBtnClassName: PropTypes__default.string,\n isSampleAtBottom: PropTypes__default.bool\n};\n\nvar numberRanges = [{\n divider: 1e12,\n suffix: 'T'\n}, {\n divider: 1e9,\n suffix: 'B'\n}, {\n divider: 1e6,\n suffix: 'M'\n}, {\n divider: 1e3,\n suffix: 'k'\n}];\nvar formatNumberWithSuffix = function formatNumberWithSuffix(number) {\n var alwaysFixed = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var digits = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n var parsedNumber = +number;\n\n if (!alwaysFixed && number < 1000) {\n return parsedNumber;\n }\n\n for (var i = 0; i < numberRanges.length; i++) {\n if (parsedNumber >= numberRanges[i].divider) {\n return (parsedNumber / numberRanges[i].divider).toFixed(digits).toString() + numberRanges[i].suffix;\n }\n }\n\n return parsedNumber.toFixed(digits).toString();\n};\n\nvar NumberFormatter = function NumberFormatter(props) {\n var children = props.children,\n variant = props.variant;\n\n var formatNumber = function formatNumber(number) {\n var numberToFormat = number.toString().trim();\n\n if (variant === 'count') {\n return (+numberToFormat).toLocaleString();\n }\n\n if (variant === 'amount') {\n var CurrencyFormat = new Intl.NumberFormat('en-US', {\n style: 'currency',\n currency: 'USD'\n });\n return CurrencyFormat.format(parseInt(numberToFormat, 10));\n }\n };\n\n return /*#__PURE__*/React__default.createElement(\"div\", null, formatNumber(children));\n};\nNumberFormatter.defaultProps = {\n variant: 'count'\n};\nNumberFormatter.propTypes = {\n children: PropTypes__default.oneOfType([PropTypes__default.arrayOf(PropTypes__default.element), PropTypes__default.element, PropTypes__default.func]),\n variant: PropTypes__default.oneOf(['count', 'amount'])\n};\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n\nvar asyncToGenerator = _asyncToGenerator;\n\nvar runtime_1 = createCommonjsModule(function (module) {\n/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined$1; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined$1) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined$1;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined$1;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined$1;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined$1, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined$1;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined$1;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined$1;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined$1;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined$1;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n module.exports \n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n});\n\nvar regenerator = runtime_1;\n\nvar UploadFileButtons = function UploadFileButtons(_ref) {\n var onUpload = _ref.onUpload,\n sampleFileURL = _ref.sampleFileURL,\n sampleFileName = _ref.sampleFileName,\n fileTypes = _ref.fileTypes,\n buttonText = _ref.buttonText,\n className = _ref.className,\n variant = _ref.variant,\n onSampleDownloadSuccess = _ref.onSampleDownloadSuccess,\n onSampleDownloadFailure = _ref.onSampleDownloadFailure;\n var fileInputRef = useRef(null);\n\n var _useState = useState(''),\n _useState2 = slicedToArray(_useState, 2),\n value = _useState2[0],\n setValue = _useState2[1];\n\n var handleFileInputClick = useCallback(function () {\n if (fileInputRef.current) {\n fileInputRef.current.click();\n }\n }, [fileInputRef]);\n var handleFileInputChange = useCallback(function (e) {\n if (e.target.files) {\n onUpload(e.target.files);\n setValue('');\n }\n }, [onUpload]);\n var downloadSample = useCallback( /*#__PURE__*/asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee() {\n var file, blob, link;\n return regenerator.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!sampleFileURL) {\n _context.next = 21;\n break;\n }\n\n _context.prev = 1;\n _context.next = 4;\n return fetch(sampleFileURL);\n\n case 4:\n file = _context.sent;\n _context.next = 7;\n return file.blob();\n\n case 7:\n blob = _context.sent;\n link = window.document.createElement('a');\n link.href = window.URL.createObjectURL(blob);\n link.download = sampleFileName;\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n\n if (onSampleDownloadSuccess) {\n onSampleDownloadSuccess();\n }\n\n _context.next = 21;\n break;\n\n case 17:\n _context.prev = 17;\n _context.t0 = _context[\"catch\"](1);\n console.log('error :', _context.t0);\n\n if (onSampleDownloadFailure) {\n onSampleDownloadFailure(_context.t0);\n }\n\n case 21:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[1, 17]]);\n })), []);\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: className\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"button-file\"\n }, /*#__PURE__*/React__default.createElement(\"input\", {\n type: \"file\",\n style: {\n display: 'none'\n },\n ref: fileInputRef,\n accept: fileTypes.map(function (type) {\n return \".\".concat(type);\n }).join(', '),\n onChange: handleFileInputChange,\n value: value\n }), /*#__PURE__*/React__default.createElement(Button, {\n className: \"mr-3\",\n iconName: \"Upload\",\n variant: variant,\n onClick: handleFileInputClick\n }, buttonText), sampleFileURL && /*#__PURE__*/React__default.createElement(Button, {\n variant: \"bold-link\",\n onClick: downloadSample\n }, \"Sample File\")), /*#__PURE__*/React__default.createElement(\"span\", {\n className: \"p2\"\n }, \"Allow Only to Upload \".concat(fileTypes.join('/').toUpperCase(), \" files\")));\n};\nUploadFileButtons.defaultProps = {\n onUpload: function onUpload() {},\n fileTypes: '',\n sampleFileURL: '',\n sampleFileName: 'sample-file',\n buttonText: 'Upload File',\n className: '',\n variant: 'tertiary2',\n onSampleDownloadSuccess: function onSampleDownloadSuccess() {},\n onSampleDownloadFailure: function onSampleDownloadFailure() {}\n};\nUploadFileButtons.propTypes = {\n onUpload: PropTypes__default.func.isRequired,\n fileTypes: PropTypes__default.array.isRequired,\n // ['csv', 'xlsx']\n sampleFileURL: PropTypes__default.string,\n sampleFileName: PropTypes__default.string,\n buttonText: PropTypes__default.string,\n className: PropTypes__default.string,\n variant: PropTypes__default.string,\n onSampleDownloadSuccess: PropTypes__default.func,\n onSampleDownloadFailure: PropTypes__default.func\n};\n\nvar css_248z$A = \":root {\\n --primary1: #123787;\\n --primary2: #1d58d7;\\n --primary3: #5173fb;\\n --primary4: #7a93ff;\\n --primary5: #c2d0ff;\\n --primary6: #e5ebff;\\n --primary7: #f2f5ff; }\\n\\n@keyframes proportionalSelect-module_hover-ripples__9DsVS {\\n 0% {\\n top: -0.1875em;\\n left: -0.1875em;\\n right: -0.1875em;\\n bottom: -0.1875em;\\n opacity: 1; }\\n 100% {\\n top: -0.8125em;\\n left: -0.8125em;\\n right: -0.8125em;\\n bottom: -0.8125em;\\n opacity: 0; } }\\n\\n.proportionalSelect-module_timelineWrapper__1xO2D {\\n --timeline-gap: 2rem;\\n --active-color: #1d58d7;\\n --hover-color: #5173fb;\\n --label-color: #666666;\\n --button-color: #a2a2a2;\\n --line-color: #e7e7e7;\\n --option-color: #787878;\\n --button-size: 1rem;\\n gap: 1rem;\\n display: flex;\\n align-items: stretch;\\n width: fit-content;\\n font-family: 'Avenir Next Demi', sans-serif;\\n font-weight: normal; }\\n\\n.proportionalSelect-module_timelineLabel__2FmFb {\\n display: flex;\\n flex-direction: column;\\n flex-wrap: nowrap;\\n flex: 1 1 0%;\\n justify-content: space-between;\\n font-family: 'Avenir Next Regular', sans-serif;\\n font-weight: normal;\\n color: var(--label-color); }\\n\\n.proportionalSelect-module_timeline__N9I6c {\\n list-style: none;\\n display: flex;\\n position: relative;\\n gap: var(--timeline-gap);\\n padding: 0;\\n margin: 0;\\n width: fit-content; }\\n .proportionalSelect-module_timeline__N9I6c .proportionalSelect-module_timelineItem__oMXY8 {\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n flex-wrap: nowrap; }\\n .proportionalSelect-module_timeline__N9I6c .proportionalSelect-module_timelineItem__oMXY8 .proportionalSelect-module_timelineBottomLabel__1T5yW,\\n .proportionalSelect-module_timeline__N9I6c .proportionalSelect-module_timelineItem__oMXY8 .proportionalSelect-module_timelineTopLabel__3p52_ {\\n color: var(--option-color); }\\n .proportionalSelect-module_timeline__N9I6c .proportionalSelect-module_timelineItem__oMXY8:hover {\\n cursor: pointer; }\\n .proportionalSelect-module_timeline__N9I6c .proportionalSelect-module_timelineItem__oMXY8:hover .proportionalSelect-module_timelineTopLabel__3p52_,\\n .proportionalSelect-module_timeline__N9I6c .proportionalSelect-module_timelineItem__oMXY8:hover .proportionalSelect-module_timelineBottomLabel__1T5yW {\\n color: var(--hover-color); }\\n .proportionalSelect-module_timeline__N9I6c .proportionalSelect-module_timelineItem__oMXY8:hover .proportionalSelect-module_timelineItemButton__3iKRv {\\n background: var(--hover-color); }\\n .proportionalSelect-module_timeline__N9I6c .proportionalSelect-module_timelineItem__oMXY8.proportionalSelect-module_active__3O2i6 {\\n cursor: pointer; }\\n .proportionalSelect-module_timeline__N9I6c .proportionalSelect-module_timelineItem__oMXY8.proportionalSelect-module_active__3O2i6 .proportionalSelect-module_timelineTopLabel__3p52_,\\n .proportionalSelect-module_timeline__N9I6c .proportionalSelect-module_timelineItem__oMXY8.proportionalSelect-module_active__3O2i6 .proportionalSelect-module_timelineBottomLabel__1T5yW {\\n color: var(--active-color); }\\n .proportionalSelect-module_timeline__N9I6c .proportionalSelect-module_timelineItem__oMXY8.proportionalSelect-module_active__3O2i6 .proportionalSelect-module_timelineItemButton__3iKRv {\\n background: var(--active-color);\\n border: 0.25rem solid white;\\n outline: 0.125rem solid var(--active-color); }\\n .proportionalSelect-module_timeline__N9I6c .proportionalSelect-module_timelineItem__oMXY8 .proportionalSelect-module_timelineTopLabel__3p52_ {\\n margin-bottom: 0.5rem; }\\n .proportionalSelect-module_timeline__N9I6c .proportionalSelect-module_timelineItem__oMXY8 .proportionalSelect-module_timelineBottomLabel__1T5yW {\\n margin-top: 0.5rem; }\\n .proportionalSelect-module_timeline__N9I6c .proportionalSelect-module_timelineItem__oMXY8 .proportionalSelect-module_timelineItemButtonWrapper__3BtOZ {\\n position: relative;\\n line-height: 0;\\n display: flex;\\n justify-content: center;\\n width: 100%;\\n z-index: 0; }\\n .proportionalSelect-module_timeline__N9I6c .proportionalSelect-module_timelineItem__oMXY8 .proportionalSelect-module_timelineItemButton__3iKRv {\\n position: relative;\\n height: var(--button-size);\\n width: var(--button-size);\\n border-radius: 50%;\\n padding: 0;\\n margin: 0;\\n background: var(--button-color);\\n border: 0.125rem solid white;\\n z-index: 2; }\\n .proportionalSelect-module_timeline__N9I6c .proportionalSelect-module_timelineItem__oMXY8:not(:first-child) .proportionalSelect-module_timelineItemButtonWrapper__3BtOZ::before {\\n content: '';\\n position: absolute;\\n left: calc(var(--timeline-gap) / -2);\\n height: 0.125rem;\\n top: 50%;\\n width: calc(50% + calc(var(--timeline-gap) / 2));\\n transform: translateY(-50%);\\n background-color: var(--line-color);\\n z-index: 1; }\\n .proportionalSelect-module_timeline__N9I6c .proportionalSelect-module_timelineItem__oMXY8:not(:last-child) .proportionalSelect-module_timelineItemButtonWrapper__3BtOZ::after {\\n content: '';\\n position: absolute;\\n left: 50%;\\n height: 0.125rem;\\n top: 50%;\\n width: calc(50% + calc(var(--timeline-gap) / 2));\\n transform: translateY(-50%);\\n background-color: var(--line-color);\\n z-index: 1; }\\n\\n.proportionalSelect-module_disabled__2PAE3 {\\n pointer-events: none; }\\n\";\nvar styles$y = {\"timelineWrapper\":\"proportionalSelect-module_timelineWrapper__1xO2D\",\"timelineLabel\":\"proportionalSelect-module_timelineLabel__2FmFb\",\"timeline\":\"proportionalSelect-module_timeline__N9I6c\",\"timelineItem\":\"proportionalSelect-module_timelineItem__oMXY8\",\"timelineBottomLabel\":\"proportionalSelect-module_timelineBottomLabel__1T5yW\",\"timelineTopLabel\":\"proportionalSelect-module_timelineTopLabel__3p52_\",\"timelineItemButton\":\"proportionalSelect-module_timelineItemButton__3iKRv\",\"active\":\"proportionalSelect-module_active__3O2i6\",\"timelineItemButtonWrapper\":\"proportionalSelect-module_timelineItemButtonWrapper__3BtOZ\",\"disabled\":\"proportionalSelect-module_disabled__2PAE3\",\"hover-ripples\":\"proportionalSelect-module_hover-ripples__9DsVS\"};\nstyleInject(css_248z$A);\n\nvar ProportionalSelect = function ProportionalSelect(_ref) {\n var options = _ref.options,\n value = _ref.value,\n onChange = _ref.onChange,\n _ref$isActive = _ref.isActive,\n isActive = _ref$isActive === void 0 ? function (option, selectedOption) {\n return (option === null || option === void 0 ? void 0 : option.value) === (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.value);\n } : _ref$isActive,\n _ref$getTopLabel = _ref.getTopLabel,\n getTopLabel = _ref$getTopLabel === void 0 ? function (one) {\n return one === null || one === void 0 ? void 0 : one.topLabel;\n } : _ref$getTopLabel,\n _ref$getBottomLabel = _ref.getBottomLabel,\n getBottomLabel = _ref$getBottomLabel === void 0 ? function (one) {\n return one === null || one === void 0 ? void 0 : one.bottomLabel;\n } : _ref$getBottomLabel,\n topLabel = _ref.topLabel,\n bottomLabel = _ref.bottomLabel,\n labelAfter = _ref.labelAfter,\n _ref$gap = _ref.gap,\n gap = _ref$gap === void 0 ? 32 : _ref$gap,\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === void 0 ? false : _ref$disabled;\n useEffect(function () {\n if (disabled) {\n var timeline = document.querySelector('.timeline');\n timeline.style.setProperty('--option-color', '#cbcbcb');\n timeline.style.setProperty('--button-color', '#e7e7e7');\n timeline.style.setProperty('--line-color', '#e7e7e7');\n timeline.style.setProperty('--active-color', '#666666');\n }\n }, []);\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"timeline \".concat(styles$y.timelineWrapper),\n style: {\n '--timeline-gap': gap / 16 + 'rem'\n }\n }, !labelAfter && /*#__PURE__*/React__default.createElement(TimelineLabel, {\n labelTop: topLabel,\n labelBottom: bottomLabel\n }), /*#__PURE__*/React__default.createElement(\"ol\", {\n className: styles$y.timeline\n }, options.map(function (one) {\n return /*#__PURE__*/React__default.createElement(TimelineItem, {\n key: one.value,\n labelTop: getTopLabel(one),\n labelBottom: getBottomLabel(one),\n handleClick: function handleClick() {\n return onChange(one);\n },\n isActive: isActive(one, value),\n disabled: disabled\n });\n })), labelAfter && /*#__PURE__*/React__default.createElement(TimelineLabel, {\n labelTop: topLabel,\n labelBottom: bottomLabel\n }));\n};\n\nvar TimelineItem = function TimelineItem(_ref2) {\n var labelTop = _ref2.labelTop,\n labelBottom = _ref2.labelBottom,\n isActive = _ref2.isActive,\n handleClick = _ref2.handleClick,\n disabled = _ref2.disabled;\n return /*#__PURE__*/React__default.createElement(\"li\", {\n className: \"\".concat(Boolean(isActive) ? styles$y.timelineItem + ' ' + styles$y.active : styles$y.timelineItem, \" \").concat(disabled ? styles$y.disabled : ''),\n onClick: handleClick\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$y.timelineTopLabel\n }, labelTop), /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$y.timelineItemButtonWrapper\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$y.timelineItemButton\n })), /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$y.timelineBottomLabel\n }, labelBottom));\n};\n\nvar TimelineLabel = function TimelineLabel(_ref3) {\n var labelTop = _ref3.labelTop,\n labelBottom = _ref3.labelBottom;\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$y.timelineLabel\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$y.timelineTopLabel\n }, labelTop), /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$y.timelineBottomLabel\n }, labelBottom));\n};\n\nvar css_248z$B = \":root {\\n --primary1: #123787;\\n --primary2: #1d58d7;\\n --primary3: #5173fb;\\n --primary4: #7a93ff;\\n --primary5: #c2d0ff;\\n --primary6: #e5ebff;\\n --primary7: #f2f5ff; }\\n\\n@keyframes rangeSlider-module_hover-ripples__2ngG9 {\\n 0% {\\n top: -0.1875em;\\n left: -0.1875em;\\n right: -0.1875em;\\n bottom: -0.1875em;\\n opacity: 1; }\\n 100% {\\n top: -0.8125em;\\n left: -0.8125em;\\n right: -0.8125em;\\n bottom: -0.8125em;\\n opacity: 0; } }\\n\\n:root {\\n --colorStop1: 0;\\n --colorStop2: 0;\\n --toolTipLeft: 0; }\\n\\n.rangeSlider-module_slider__3ezVh input[type='range'] {\\n -webkit-appearance: none;\\n /* Hides the slider so that custom slider can be made */\\n width: 20rem;\\n /* Specific width is required for Firefox. */\\n background: transparent;\\n /* Otherwise white in Chrome */ }\\n\\n.rangeSlider-module_slider__3ezVh input[type='range']::-webkit-slider-thumb {\\n -webkit-appearance: none; }\\n\\n.rangeSlider-module_slider__3ezVh input[type='range']:focus {\\n outline: none; }\\n\\n.rangeSlider-module_slider__3ezVh input[type='range']::-ms-track {\\n width: 20rem;\\n cursor: pointer;\\n /* Hides the slider so custom styles can be added */\\n background: transparent;\\n border-color: transparent;\\n color: transparent; }\\n\\n.rangeSlider-module_slider__3ezVh input[type='range']::-webkit-slider-thumb {\\n -webkit-appearance: none;\\n border-radius: 50%;\\n box-shadow: 0rem 0rem 0rem 0.5625rem #ffffff, 0rem 0rem 0rem 0.625rem #e7e7e7;\\n width: 0.625rem;\\n height: 0.625rem;\\n background: var(--thumb-background);\\n cursor: pointer;\\n margin-top: -0.0625rem; }\\n\\n.rangeSlider-module_slider__3ezVh input[type='range']::-moz-range-thumb {\\n -moz-appearance: none;\\n border-radius: 50%;\\n box-shadow: 0rem 0rem 0rem 0.5625rem #ffffff, 0rem 0rem 0rem 0.625rem #e7e7e7;\\n width: 0.625rem;\\n height: 0.625rem;\\n background: var(--thumb-background);\\n cursor: pointer; }\\n\\n.rangeSlider-module_slider__3ezVh input[type='range']::-ms-thumb {\\n -ms-appearance: none;\\n border-radius: 50%;\\n box-shadow: 0rem 0rem 0rem 0.5625rem #ffffff, 0rem 0rem 0rem 0.625rem #e7e7e7;\\n width: 0.625rem;\\n height: 0.625rem;\\n background: var(--thumb-background);\\n cursor: pointer; }\\n\\n.rangeSlider-module_slider__3ezVh input[type='range']::-webkit-slider-runnable-track {\\n width: 20rem;\\n height: 0.375rem;\\n cursor: pointer;\\n border-radius: 1.875rem;\\n background-image: linear-gradient(to right, #f4f4f4 0%, #f4f4f4 var(--colorStop1), var(--thumb-background) var(--colorStop1), var(--thumb-background) var(--colorStop2), #f4f4f4 var(--colorStop2), #f4f4f4 100%); }\\n\\n.rangeSlider-module_slider__3ezVh input[type='range']::-moz-range-track {\\n width: 20rem;\\n height: 0.375rem;\\n cursor: pointer;\\n border-radius: 1.875rem;\\n background-image: linear-gradient(to right, #f4f4f4 0%, #f4f4f4 var(--colorStop1), var(--thumb-background) var(--colorStop1), var(--thumb-background) var(--colorStop2), #f4f4f4 var(--colorStop2), #f4f4f4 100%); }\\n\\n.rangeSlider-module_slider__3ezVh input[type='range']::-ms-track {\\n width: 20rem;\\n height: 0.375rem;\\n cursor: pointer;\\n border-radius: 1.875rem;\\n background-image: linear-gradient(to right, #f4f4f4 0%, #f4f4f4 var(--colorStop1), var(--thumb-background) var(--colorStop1), var(--thumb-background) var(--colorStop2), #f4f4f4 var(--colorStop2), #f4f4f4 100%); }\\n\\n.rangeSlider-module_slider__3ezVh .rangeSlider-module_box__SuV9C {\\n height: 1.875rem;\\n width: 3.125rem;\\n position: relative;\\n background-color: #ffffff;\\n left: var(--toolTipLeft);\\n border: 0;\\n bottom: -0.75rem;\\n box-shadow: 0 0 0.0625rem 0.0625rem #979797;\\n -moz-box-shadow: 0 0 0.0625rem 0.0625rem #979797;\\n -webkit-box-shadow: 0 0 0.0625rem 0.0625rem #979797;\\n border-radius: 0.25rem;\\n display: flex;\\n justify-content: center;\\n align-items: center; }\\n .rangeSlider-module_slider__3ezVh .rangeSlider-module_box__SuV9C .rangeSlider-module_currentValue__2mjLx {\\n font-family: 'Avenir Next Demi', sans-serif;\\n font-weight: normal;\\n letter-spacing: .2px;\\n font-size: 0.75rem;\\n line-height: 0.875rem;\\n font-weight: 600; }\\n\\n.rangeSlider-module_slider__3ezVh .rangeSlider-module_boxArrow__-BRBT {\\n width: 0;\\n height: 0;\\n border-left: 0.3125rem solid transparent;\\n border-right: 0.3125rem solid transparent;\\n border-bottom: 0.3125rem solid #979797;\\n position: relative;\\n left: calc(var(--toolTipLeft) + 1.25rem);\\n top: -1.4375rem; }\\n\\n.rangeSlider-module_slider__3ezVh .rangeSlider-module_boxArrow__-BRBT:after {\\n content: '';\\n width: 0;\\n height: 0;\\n border-left: 0.25rem solid transparent;\\n border-right: 0.25rem solid transparent;\\n border-bottom: 0.25rem solid #ffffff;\\n position: absolute;\\n top: 0.0625rem;\\n left: -0.25rem; }\\n\\n.rangeSlider-module_slider__3ezVh .rangeSlider-module_percentageIndicatorEnabled__Zg0V7 {\\n margin-top: 0.5625rem;\\n position: absolute;\\n font-family: 'Avenir Next Regular', sans-serif;\\n font-weight: normal;\\n font-size: 0.75rem;\\n color: #787878; }\\n .rangeSlider-module_slider__3ezVh .rangeSlider-module_percentageIndicatorEnabled__Zg0V7 .rangeSlider-module_percentage__32Xl1 {\\n margin-right: 8.125rem; }\\n\\n.rangeSlider-module_slider__3ezVh .rangeSlider-module_percentageIndicatorDisabled__39d4R {\\n margin-top: 0.5625rem;\\n position: absolute;\\n font-family: 'Avenir Next Regular', sans-serif;\\n font-weight: normal;\\n font-size: 0.75rem;\\n color: #cbcbcb; }\\n .rangeSlider-module_slider__3ezVh .rangeSlider-module_percentageIndicatorDisabled__39d4R .rangeSlider-module_percentage__32Xl1 {\\n margin-right: 8.125rem; }\\n\";\nvar styles$z = {\"slider\":\"rangeSlider-module_slider__3ezVh\",\"box\":\"rangeSlider-module_box__SuV9C\",\"currentValue\":\"rangeSlider-module_currentValue__2mjLx\",\"boxArrow\":\"rangeSlider-module_boxArrow__-BRBT\",\"percentageIndicatorEnabled\":\"rangeSlider-module_percentageIndicatorEnabled__Zg0V7\",\"percentage\":\"rangeSlider-module_percentage__32Xl1\",\"percentageIndicatorDisabled\":\"rangeSlider-module_percentageIndicatorDisabled__39d4R\",\"hover-ripples\":\"rangeSlider-module_hover-ripples__2ngG9\"};\nstyleInject(css_248z$B);\n\nvar Slider = function Slider(props) {\n var maxAllowedRange = props.maxAllowedRange,\n minAllowedRange = props.minAllowedRange,\n maxRange = props.maxRange,\n minRange = props.minRange,\n initialValue = props.initialValue,\n setSliderValue = props.setSliderValue,\n _props$isSliderDisabl = props.isSliderDisabled,\n isSliderDisabled = _props$isSliderDisabl === void 0 ? false : _props$isSliderDisabl,\n _props$isLabelDisable = props.isLabelDisabled,\n isLabelDisabled = _props$isLabelDisable === void 0 ? false : _props$isLabelDisable,\n _props$showCurrentVal = props.showCurrentValue,\n showCurrentValue = _props$showCurrentVal === void 0 ? true : _props$showCurrentVal;\n\n var _useState = useState(initialValue !== null && initialValue !== void 0 ? initialValue : 0),\n _useState2 = slicedToArray(_useState, 2),\n currentValue = _useState2[0],\n setCurrentValue = _useState2[1];\n\n var setValue = function setValue(event) {\n var value = event.target.value;\n var selectedValue = parseInt(value, 10);\n\n if (maxAllowedRange && minAllowedRange) {\n if (selectedValue <= maxAllowedRange && selectedValue >= minAllowedRange && !isSliderDisabled) {\n setCurrentValue(value);\n setSliderValue(value);\n }\n } else if (!isSliderDisabled) {\n setCurrentValue(value);\n setSliderValue(value);\n }\n };\n\n var root = document.querySelector(':root');\n\n if (!isSliderDisabled) {\n var _root$style, _root$style2;\n\n root === null || root === void 0 ? void 0 : (_root$style = root.style) === null || _root$style === void 0 ? void 0 : _root$style.setProperty('--colorStop1', \"\".concat(minAllowedRange, \"%\"));\n root === null || root === void 0 ? void 0 : (_root$style2 = root.style) === null || _root$style2 === void 0 ? void 0 : _root$style2.setProperty('--colorStop2', \"\".concat(maxAllowedRange, \"%\"));\n }\n\n root.style.setProperty('--toolTipLeft', \"\".concat((320 * (currentValue * 0.01) - 25) / 16, \"rem\"));\n useEffect(function () {\n var _document$querySelect;\n\n (_document$querySelect = document.querySelector('#slider')) === null || _document$querySelect === void 0 ? void 0 : _document$querySelect.style.setProperty('--thumb-background', isSliderDisabled ? '#CBCBCB' : '#1d58d7');\n }, [isSliderDisabled]);\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(styles$z.slider)\n }, /*#__PURE__*/React__default.createElement(\"input\", {\n id: \"slider\",\n type: \"range\",\n min: minRange.toString(),\n max: maxRange.toString(),\n value: currentValue.toString(),\n onChange: function onChange(e) {\n return setValue(e);\n }\n }), !isLabelDisabled ? /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(isSliderDisabled ? styles$z.percentageIndicatorDisabled : styles$z.percentageIndicatorEnabled)\n }, /*#__PURE__*/React__default.createElement(\"span\", {\n className: styles$z.percentage\n }, \"0%\"), /*#__PURE__*/React__default.createElement(\"span\", {\n className: styles$z.percentage\n }, \"50%\"), /*#__PURE__*/React__default.createElement(\"span\", null, \"100%\")) : null, showCurrentValue ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$z.box\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$z.currentValue\n }, currentValue, \"%\")), /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$z.boxArrow\n })) : null);\n};\nSlider.propTypes = {\n maxAllowedRange: PropTypes__default.number,\n minAllowedRange: PropTypes__default.number,\n maxRange: PropTypes__default.number.isRequired,\n minRange: PropTypes__default.number.isRequired,\n initialValue: PropTypes__default.number,\n setSliderValue: PropTypes__default.func.isRequired,\n isSliderDisabled: PropTypes__default.bool\n};\n\nvar css_248z$C = \".smartText-module_container__J6DMQ {\\n width: 100%;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n overflow: hidden;\\n display: block;\\n pointer-events: none; }\\n\";\nvar styles$A = {\"container\":\"smartText-module_container__J6DMQ\"};\nstyleInject(css_248z$C);\n\nvar SmartText = function SmartText(_ref) {\n var label = _ref.label,\n tooltipParams = _ref.tooltipParams;\n return /*#__PURE__*/React__default.createElement(Tooltip$1, _extends_1({\n label: label\n }, tooltipParams), /*#__PURE__*/React__default.createElement(\"span\", {\n className: styles$A.container\n }, label));\n};\nSmartText.propTypes = {\n label: PropTypes__default.string,\n tooltipParams: PropTypes__default.object\n};\n\nvar css_248z$D = \":root {\\n --primary1: #123787;\\n --primary2: #1d58d7;\\n --primary3: #5173fb;\\n --primary4: #7a93ff;\\n --primary5: #c2d0ff;\\n --primary6: #e5ebff;\\n --primary7: #f2f5ff; }\\n\\n@keyframes styles-module_hover-ripples__1nWZj {\\n 0% {\\n top: -0.1875em;\\n left: -0.1875em;\\n right: -0.1875em;\\n bottom: -0.1875em;\\n opacity: 1; }\\n 100% {\\n top: -0.8125em;\\n left: -0.8125em;\\n right: -0.8125em;\\n bottom: -0.8125em;\\n opacity: 0; } }\\n\\n.styles-module_labelOnly__1_pE- {\\n width: 16.25rem;\\n max-width: 16.25rem; }\\n\\n.styles-module_allowBlockTooltip__2yZfA {\\n display: flex;\\n flex-direction: column;\\n margin: 0.25rem;\\n font-size: 0.875rem; }\\n .styles-module_allowBlockTooltipInfo__1whM3:first-child {\\n margin-bottom: 0.75rem; }\\n .styles-module_allowBlockTooltipSubtitle__2G_2n {\\n font-family: 'Avenir Next Demi', sans-serif;\\n font-weight: normal;\\n display: flex;\\n align-items: center;\\n justify-content: flex-start;\\n margin-bottom: 0.125rem; }\\n .styles-module_allowBlockTooltipText__1vVUA {\\n font-family: 'Avenir Next Regular', sans-serif;\\n font-weight: normal; }\\n .styles-module_allowBlockTooltip__2yZfA .styles-module_bubble__3F3rz {\\n width: 0.5rem;\\n height: 0.5rem;\\n margin-right: 0.25rem;\\n border-radius: 50%;\\n border: 1px solid #e7e7e7; }\\n .styles-module_allowBlockTooltip__2yZfA .styles-module_bubbleBlocked__1bJLe {\\n background: #f1494a; }\\n .styles-module_allowBlockTooltip__2yZfA .styles-module_bubbleAllowed__-8bJM {\\n background: #289679; }\\n\";\nvar styles$B = {\"labelOnly\":\"styles-module_labelOnly__1_pE-\",\"allowBlockTooltip\":\"styles-module_allowBlockTooltip__2yZfA\",\"allowBlockTooltipInfo\":\"styles-module_allowBlockTooltipInfo__1whM3\",\"allowBlockTooltipSubtitle\":\"styles-module_allowBlockTooltipSubtitle__2G_2n\",\"allowBlockTooltipText\":\"styles-module_allowBlockTooltipText__1vVUA\",\"bubble\":\"styles-module_bubble__3F3rz\",\"bubbleBlocked\":\"styles-module_bubbleBlocked__1bJLe\",\"bubbleAllowed\":\"styles-module_bubbleAllowed__-8bJM\",\"hover-ripples\":\"styles-module_hover-ripples__1nWZj\"};\nstyleInject(css_248z$D);\n\nvar AllowlistBlocklistTooltip = function AllowlistBlocklistTooltip(_ref) {\n var dimension = _ref.dimension,\n labelOnly = _ref.labelOnly,\n _ref$content = _ref.content,\n content = _ref$content === void 0 ? 'Allowlist/Blocklist' : _ref$content,\n _ref$labelMaxWidth = _ref.labelMaxWidth,\n labelMaxWidth = _ref$labelMaxWidth === void 0 ? 210 : _ref$labelMaxWidth,\n _ref$tooltipProps = _ref.tooltipProps,\n tooltipProps = _ref$tooltipProps === void 0 ? {} : _ref$tooltipProps;\n var label = /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(styles$B.allowBlockTooltip, \" \").concat(labelOnly ? styles$B.labelOnly : '')\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$B.allowBlockTooltipInfo\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$B.allowBlockTooltipSubtitle\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(styles$B.bubble, \" \").concat(styles$B.bubbleAllowed)\n }), \"Allowlist:\"), /*#__PURE__*/React__default.createElement(\"span\", {\n className: styles$B.allowBlockTooltipText\n }, \"List of \", dimension, \" targeted for this campaign\")), /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$B.allowBlockTooltipInfo\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: styles$B.allowBlockTooltipSubtitle\n }, /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"\".concat(styles$B.bubble, \" \").concat(styles$B.bubbleBlocked)\n }), \"Blocklist:\"), /*#__PURE__*/React__default.createElement(\"span\", {\n className: styles$B.allowBlockTooltipText\n }, \"List of \", dimension, \" blocked for this campaign\")));\n\n if (labelOnly) {\n return label;\n }\n\n return /*#__PURE__*/React__default.createElement(Tooltip, _extends_1({\n auto: true,\n portal: true,\n labelMaxWidth: labelMaxWidth\n }, tooltipProps, {\n label: label\n }), content);\n};\nAllowlistBlocklistTooltip.propTypes = {\n dimension: PropTypes__default.string,\n content: PropTypes__default.node,\n labelOnly: PropTypes__default[\"boolean\"],\n labelMaxWidth: PropTypes__default.number,\n tooltipProps: PropTypes__default.object\n};\n\nexport { ActionButton, ActionMenu, ActionSelect, AllowlistBlocklistTooltip, Block, BlockRemove, Button, ButtonCircle, ButtonLink, ButtonsGroup, Card, CardHoveredContent, CardHoveredSubtitle, CardImage, CardSubtitle, Checkbox, Chip, Collapse, CollapsibleBlock, ContextMenu, ContextMenuList, ContextMenuListDivider, ContextMenuListItem, CopyToClipboardButton, CustomerSelect, DatesPicker, Dialog, DialogScrollableContent, DisplayItems, EditableText, ErrorCircle, FileUploader, Form, Icon, ImageCard, ImageCardSubContent, Layout, LoadingBar, Logo, Modal, NavigationBar, NumberFormatter, Opener, Pagination, ParamsCard, ParamsCardsDate, ParamsCardsList, Pill, ProgressCircle, ProportionalSelect, Radio, RightbarTab, RightbarTabs, Ripple, SORT_DIRECTION, SVG_HOST_URL, Select, SelectList, Sidebar, SidebarHeader, Slider, SmartText, Snackbar, SuccessCircle, Switch, Table, Tabs, TextField, TextFieldWithIcon, TimePicker, Tooltip, Tumbler, URLTextField, UploadFileButtons, applicationsIcons, audienceIcons, campaignsIcons, commonIcons, creativeIcons, creativesIcons, deviceIcons, eventsIcons, filterIcons, formatNumberWithSuffix, iconNameURLMap, osIcons, statusIcons, withClickOutside };\n//# sourceMappingURL=index.es.js.map\n","import React__default, { useMemo, useRef, Component, useState as useState$2, useEffect, useCallback, createElement, useContext, useReducer, Fragment, useLayoutEffect } from 'react';\nimport { withRouter, Route, HashRouter, Switch, Redirect } from 'react-router-dom';\nimport PropTypes, { string as string$1 } from 'prop-types';\nimport { ProgressCircle, Icon, Tooltip, ButtonCircle, Pill, TextField, Button, NavigationBar, Dialog, SmartText, Select, Table, Checkbox, EditableText, withClickOutside, TextFieldWithIcon, DatesPicker, Opener, SVG_HOST_URL, Modal, Tabs, ImageCard, LoadingBar, CollapsibleBlock, DisplayItems, AllowlistBlocklistTooltip } from 'factor';\nimport axios from 'axios';\nimport isEmpty from 'lodash/isEmpty';\nimport get$1 from 'lodash/get';\nimport { createPortal } from 'react-dom';\nimport { useHistory } from 'react-router';\nimport isEqual from 'lodash/isEqual';\nimport debounce from 'lodash/debounce';\nimport isArray$5 from 'lodash/isArray';\nimport uniqBy from 'lodash/uniqBy';\nimport find$1 from 'lodash/find';\nimport isFunction$1 from 'lodash/isFunction';\nimport startCase from 'lodash/startCase';\nimport moment from 'moment';\nimport lowerCase from 'lodash/lowerCase';\nimport moment$1 from 'moment-timezone';\nimport isObject$1 from 'lodash/isObject';\nimport { get as get$2, isObject as isObject$2, sortBy, isEqual as isEqual$1, debounce as debounce$1, truncate as truncate$1 } from 'lodash';\nimport keyBy from 'lodash/keyBy';\nimport difference from 'lodash/difference';\nimport intersectionWith from 'lodash/intersectionWith';\nimport truncate$1$1 from 'lodash/truncate';\nimport capitalize from 'lodash/capitalize';\n\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nfunction unwrapExports (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar runtime_1 = createCommonjsModule(function (module) {\n/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined$1; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined$1) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined$1;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined$1;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined$1;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined$1, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined$1;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined$1;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined$1;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined$1;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined$1;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n module.exports \n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n});\n\nvar regenerator = runtime_1;\n\nvar _extends_1 = createCommonjsModule(function (module) {\nfunction _extends() {\n module.exports = _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n});\n\nvar _extends = unwrapExports(_extends_1);\n\nvar asyncToGenerator = createCommonjsModule(function (module) {\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n\nmodule.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n});\n\nvar _asyncToGenerator = unwrapExports(asyncToGenerator);\n\nvar classCallCheck = createCommonjsModule(function (module) {\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n});\n\nvar _classCallCheck = unwrapExports(classCallCheck);\n\nvar createClass = createCommonjsModule(function (module) {\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\n\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n});\n\nvar _createClass = unwrapExports(createClass);\n\nvar setPrototypeOf = createCommonjsModule(function (module) {\nfunction _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n});\n\nunwrapExports(setPrototypeOf);\n\nvar inherits = createCommonjsModule(function (module) {\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n});\n\nvar _inherits = unwrapExports(inherits);\n\nvar _typeof_1 = createCommonjsModule(function (module) {\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\n\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n});\n\nunwrapExports(_typeof_1);\n\nvar assertThisInitialized = createCommonjsModule(function (module) {\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n});\n\nunwrapExports(assertThisInitialized);\n\nvar possibleConstructorReturn = createCommonjsModule(function (module) {\nvar _typeof = _typeof_1[\"default\"];\n\n\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n});\n\nvar _possibleConstructorReturn = unwrapExports(possibleConstructorReturn);\n\nvar getPrototypeOf = createCommonjsModule(function (module) {\nfunction _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n});\n\nvar _getPrototypeOf = unwrapExports(getPrototypeOf);\n\nvar defineProperty = createCommonjsModule(function (module) {\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n});\n\nvar _defineProperty = unwrapExports(defineProperty);\n\nvar REACT_APP_VERSION = process.env.REACT_APP_VERSION || '';\nvar REACT_APP_ENVIRONMENT = process.env.REACT_APP_ENVIRONMENT || '';\nvar isProd = REACT_APP_ENVIRONMENT === 'production';\nvar IS_SUPER_USER = process.env.REACT_APP_SUPER_ADMIN === 'true';\nvar REACT_APP_WORKSPACE_URL = process.env.REACT_APP_WORKSPACE_URL || 'https://admin1.stage.inhousebuying.com';\nvar DEFAULT_URL = isProd ? 'https://app.inousebuying.com' : process.env.REACT_APP_IHP === 'true' ? 'https://app.stage.inhousebuying.com' : REACT_APP_WORKSPACE_URL; // const DEFAULT_SUPER_URL = isProd ? 'https://super.iqm.com' : 'https://super.stage.iqm.com';\n// const DEFAULT = IS_SUPER_USER ? DEFAULT_SUPER_URL : DEFAULT_URL;\n\nvar ORIGIN_URL = window.location.origin.includes('localhost') ? DEFAULT_URL : window.location.origin;\nvar IS_LOCAL_ENV = window.location.origin.includes('localhost');\nvar LOGIN_URL = \"\".concat(ORIGIN_URL, \"/api/v3/ua/login\");\nvar LOGOUT_URL_END = IS_SUPER_USER ? '/api/v2/auth/oauth2/logout' : '/api/logout';\nvar ADVERTISER_PROFILE_URL = \"\".concat(ORIGIN_URL, \"/api/manage/profile\");\nvar ADMIN_PROFILE_URL = isProd ? '/api/manage/profile' : 'https://admin1.stage.iqm.com/api/manage/profile';\nvar USER_AVATAR_URL = \"\".concat(ORIGIN_URL, \"/api/v2/avatar\");\nvar VALIDATE_TOKEN_URL = \"\".concat(ORIGIN_URL, \"/api/v2/auth/validate-token\");\nvar EXPORT_DOWNLOAD_URL = \"\".concat(ORIGIN_URL, \"/api/v2/rb/export\");\nvar BASIC_AUTH_HEADER_VALUE = 'Basic N3BuaWJrdWpleTFvanJnbnNsbjU6MTIzNDU2';\nvar isIHPOwner = function isIHPOwner() {\n var initData = JSON.parse(localStorage.getItem('initData') || '{}');\n return Boolean(initData.ihpOwner);\n};\nvar getPathNumber = function getPathNumber() {\n var href = window.location.href;\n\n if (href.includes('localhost')) {\n return 0;\n }\n\n try {\n var num = Number(href.match(/\\/u\\/[0-9]+/)[0].substring(3));\n return isNaN(num) ? 0 : num;\n } catch (e) {\n return 0;\n }\n};\nvar isLocalhost = function isLocalhost() {\n return Boolean(window.location.hostname === 'localhost' || window.location.hostname === '[::1]' || window.location.hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));\n};\nvar owIdMap = [];\nvar getOwId = function getOwId() {\n try {\n var num = getPathNumber();\n\n if (owIdMap[num] != null) {\n return owIdMap[num];\n }\n\n var owIds = JSON.parse(localStorage.getItem('owIds'));\n\n if (!Array.isArray(owIds) || !owIds.length) {\n throw new Error('owIds array in localStorage has some issues');\n }\n\n owIdMap[num] = String(owIds[num]);\n return owIdMap[num];\n } catch (e) {\n return null;\n }\n};\nvar setColorVariables = function setColorVariables() {\n var r = document.querySelector(':root');\n r.style.setProperty('--primary1', '#04363D');\n r.style.setProperty('--primary2', '#3A827E');\n r.style.setProperty('--primary3', '#3FD4AD');\n r.style.setProperty('--primary4', '#80F2D4');\n r.style.setProperty('--primary5', '#CCFBEE');\n r.style.setProperty('--primary6', '#CCFBEE');\n r.style.setProperty('--primary7', '#F3FFFC');\n};\nvar INTERCOM_APP_ID = 'p7yzll40';\nvar getConfig = function getConfig() {\n return {\n IS_SUPER_USER: IS_SUPER_USER,\n LOGIN_URL: LOGIN_URL,\n LOGOUT_URL_END: LOGOUT_URL_END,\n ADVERTISER_PROFILE_URL: ADVERTISER_PROFILE_URL,\n ADMIN_PROFILE_URL: ADMIN_PROFILE_URL,\n USER_AVATAR_URL: USER_AVATAR_URL,\n VALIDATE_TOKEN_URL: VALIDATE_TOKEN_URL,\n EXPORT_DOWNLOAD_URL: EXPORT_DOWNLOAD_URL\n };\n};\n\nvar isNativeFunction = createCommonjsModule(function (module) {\nfunction _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n\nmodule.exports = _isNativeFunction, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n});\n\nunwrapExports(isNativeFunction);\n\nvar isNativeReflectConstruct = createCommonjsModule(function (module) {\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nmodule.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n});\n\nunwrapExports(isNativeReflectConstruct);\n\nvar construct = createCommonjsModule(function (module) {\nfunction _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n module.exports = _construct = Reflect.construct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n } else {\n module.exports = _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n }\n\n return _construct.apply(null, arguments);\n}\n\nmodule.exports = _construct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n});\n\nunwrapExports(construct);\n\nvar wrapNativeSuper = createCommonjsModule(function (module) {\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n module.exports = _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _wrapNativeSuper(Class);\n}\n\nmodule.exports = _wrapNativeSuper, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n});\n\nvar _wrapNativeSuper = unwrapExports(wrapNativeSuper);\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nvar ServerError = /*#__PURE__*/function (_Error) {\n _inherits(ServerError, _Error);\n\n var _super = _createSuper(ServerError);\n\n function ServerError(props) {\n var _this;\n\n _classCallCheck(this, ServerError);\n\n _this = _super.call(this, props);\n _this.name = 'ServerError';\n\n if (props.response) {\n var _ref = props.response.data || {},\n errorObjects = _ref.errorObjects;\n\n _this.errorMessage = Array.isArray(errorObjects) ? errorObjects[0].error : '';\n _this.status = props.response.status;\n _this.data = props.response.data;\n\n if (props.response.status === 401) {\n if (AuthService.logout) {\n AuthService.logout();\n } else {\n window.localStorage.removeItem(BASE_INFO_NAME);\n window.location.href = '/';\n }\n }\n } else {\n _this.message = 'Endpoint is not available';\n }\n\n return _this;\n }\n\n return _createClass(ServerError);\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nvar getDomainURL = function getDomainURL() {\n return ORIGIN_URL.replace(/^https?:\\/\\//, '');\n};\n\nvar userAuth = function userAuth(data) {\n return {\n userType: data.userType,\n domainURL: getDomainURL(),\n apiToken: data.access_token\n };\n};\n\nvar userProfile = function userProfile(data) {\n return {\n firstName: data.firstName || data.first_name,\n lastName: data.lastName || data.last_name,\n email: data.email,\n organizationName: data.organizationName,\n userAvatar: data.userAvatar,\n organizationLogo: data.organizationLogo,\n failureDetails: data.failureDetails,\n displayName: data.displayName,\n invoiceId: data.invoiceId,\n dspId: data.dsp_id,\n userId: data.user_id,\n userType: data.user_type_id,\n loginEmail: data.login_email,\n timezoneId: data.timezone || data.user_timezone_id,\n timezoneName: data.timezone_country_name,\n address: data.address,\n zipCode: data.zip_code,\n phone: data.phone,\n websiteUrl: data.website,\n version: data.version,\n isCampaignApprovalAccess: data.is_campaign_approval_access,\n isCreativeApprovalAccess: data.is_creative_approval_access,\n isSegmentedAudienceAllowed: data.is_segmented_audience_allowed,\n allowExtendedReportDuration: data.allowExtendedReportDuration,\n isWorkspaceOwnerOrg: data.isWorkspaceOwnerOrg,\n isCampaignAppOwner: data.isCampaignAppOwner,\n isPlatformOwnerOrg: data.isPlatformOwnerOrg,\n segmentedCountryId: data.segmentedCountryId,\n owId: data.owId,\n isOwnerUser: data.isOwnerUser,\n parentOrganization: data.parentOrganization,\n organizationTimezone: data.organizationTimezone\n };\n};\n\nvar getToken = function getToken() {\n var _AuthService$getUser;\n\n return ((_AuthService$getUser = AuthService.getUser()) === null || _AuthService$getUser === void 0 ? void 0 : _AuthService$getUser.apiToken) || '';\n};\n\nvar getHeaders = function getHeaders() {\n var user = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var owId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getOwId();\n return {\n 'x-iaa-ow-id': owId,\n authorization: \"Bearer \".concat(user.apiToken || getToken())\n };\n};\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nvar config = getConfig();\nvar INIT_DATA = 'initData';\n\nvar Api = /*#__PURE__*/function () {\n function Api() {\n var _this$initData;\n\n _classCallCheck(this, Api);\n\n this.initData = undefined;\n this.initData = JSON.parse(localStorage.getItem(INIT_DATA) || 'null');\n\n if (((_this$initData = this.initData) === null || _this$initData === void 0 ? void 0 : _this$initData.ihpOwner) === false) {\n setColorVariables();\n }\n }\n\n _createClass(Api, [{\n key: \"authenticate\",\n value: function () {\n var _authenticate = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee(_ref) {\n var email, password, response, owId;\n return regenerator.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n email = _ref.email, password = _ref.password;\n _context.prev = 1;\n _context.next = 4;\n return axios.post(\"\".concat(config.LOGIN_URL, \"?advertiserId=login\"), {\n email: email,\n password: password,\n grantType: 'password'\n }, {\n headers: {\n Authorization: BASIC_AUTH_HEADER_VALUE\n }\n });\n\n case 4:\n response = _context.sent;\n\n if (!response.data.success) {\n _context.next = 9;\n break;\n }\n\n owId = response.data.data.owId;\n localStorage.setItem('owIds', JSON.stringify([owId]));\n return _context.abrupt(\"return\", userAuth(response.data.data));\n\n case 9:\n throw {\n response: response\n };\n\n case 12:\n _context.prev = 12;\n _context.t0 = _context[\"catch\"](1);\n throw new ServerError(_context.t0);\n\n case 15:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[1, 12]]);\n }));\n\n function authenticate(_x) {\n return _authenticate.apply(this, arguments);\n }\n\n return authenticate;\n }()\n }, {\n key: \"fetchUserProfile\",\n value: function () {\n var _fetchUserProfile = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee2(_ref2, owId) {\n var apiToken, response;\n return regenerator.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n apiToken = _ref2.apiToken;\n _context2.prev = 1;\n _context2.next = 4;\n return axios({\n url: \"\".concat(ORIGIN_URL, \"/api/v3/ua/profile\"),\n headers: getHeaders({\n apiToken: apiToken\n }, owId)\n });\n\n case 4:\n response = _context2.sent;\n return _context2.abrupt(\"return\", userProfile(response.data.data));\n\n case 8:\n _context2.prev = 8;\n _context2.t0 = _context2[\"catch\"](1);\n throw new ServerError(_context2.t0);\n\n case 11:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, null, [[1, 8]]);\n }));\n\n function fetchUserProfile(_x2, _x3) {\n return _fetchUserProfile.apply(this, arguments);\n }\n\n return fetchUserProfile;\n }()\n }, {\n key: \"uploadUserAvatar\",\n value: function () {\n var _uploadUserAvatar = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee3(base64, ext) {\n var user, response;\n return regenerator.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.prev = 0;\n user = AuthService.getUser();\n\n if (user) {\n _context3.next = 4;\n break;\n }\n\n return _context3.abrupt(\"return\", null);\n\n case 4:\n _context3.next = 6;\n return axios.put(\"\".concat(config.USER_AVATAR_URL, \"/\").concat(ext), base64, {\n headers: _objectSpread(_objectSpread({}, getHeaders(user)), {}, {\n 'Content-Type': 'text/plain'\n })\n });\n\n case 6:\n response = _context3.sent;\n return _context3.abrupt(\"return\", response.data.avatar);\n\n case 10:\n _context3.prev = 10;\n _context3.t0 = _context3[\"catch\"](0);\n throw new ServerError(_context3.t0);\n\n case 13:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, null, [[0, 10]]);\n }));\n\n function uploadUserAvatar(_x4, _x5) {\n return _uploadUserAvatar.apply(this, arguments);\n }\n\n return uploadUserAvatar;\n }()\n }, {\n key: \"fetchAdvertiserBalance\",\n value: function () {\n var _fetchAdvertiserBalance = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee4(advertiserId) {\n var user, response;\n return regenerator.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.prev = 0;\n user = AuthService.getUser();\n\n if (user) {\n _context4.next = 4;\n break;\n }\n\n return _context4.abrupt(\"return\", null);\n\n case 4:\n _context4.next = 6;\n return axios({\n url: \"\".concat(ORIGIN_URL, \"/api/v2/advertiser/getavailablebalance\"),\n headers: getHeaders(user),\n params: {\n list_adv: advertiserId,\n advertiserId: user.userId\n }\n });\n\n case 6:\n response = _context4.sent;\n return _context4.abrupt(\"return\", get$1(response, 'data[0].finance_available_balance', 0));\n\n case 10:\n _context4.prev = 10;\n _context4.t0 = _context4[\"catch\"](0);\n console.log(_context4.t0);\n throw new ServerError(_context4.t0);\n\n case 14:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, null, [[0, 10]]);\n }));\n\n function fetchAdvertiserBalance(_x6) {\n return _fetchAdvertiserBalance.apply(this, arguments);\n }\n\n return fetchAdvertiserBalance;\n }()\n }, {\n key: \"fetchUserApps\",\n value: function () {\n var _fetchUserApps = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee5() {\n var user, owId, response;\n return regenerator.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n _context5.prev = 0;\n user = AuthService.getUser();\n owId = getOwId();\n\n if (!(!(owId !== null && owId !== void 0 && owId.length) || !user)) {\n _context5.next = 5;\n break;\n }\n\n throw new Error('ow ID or user not present');\n\n case 5:\n _context5.next = 7;\n return axios({\n url: \"\".concat(ORIGIN_URL, \"/api/v3/ua/user/allowed-applications\"),\n headers: getHeaders(user, owId)\n });\n\n case 7:\n response = _context5.sent;\n return _context5.abrupt(\"return\", response.data.data);\n\n case 11:\n _context5.prev = 11;\n _context5.t0 = _context5[\"catch\"](0);\n throw new ServerError(_context5.t0);\n\n case 14:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5, null, [[0, 11]]);\n }));\n\n function fetchUserApps() {\n return _fetchUserApps.apply(this, arguments);\n }\n\n return fetchUserApps;\n }()\n }, {\n key: \"fetchOrganizations\",\n value: function () {\n var _fetchOrganizations = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee6(_ref3) {\n var searchField, params, user, owId, response;\n return regenerator.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n searchField = _ref3.searchField;\n params = new URLSearchParams({\n searchField: searchField\n });\n _context6.prev = 2;\n user = AuthService.getUser();\n owId = getOwId();\n\n if (!(!(owId !== null && owId !== void 0 && owId.length) || !user)) {\n _context6.next = 7;\n break;\n }\n\n throw new Error('ow ID or user not present');\n\n case 7:\n _context6.next = 9;\n return axios({\n url: \"\".concat(ORIGIN_URL, \"/api/v3/ua/user/allowed-organizations?&pageNo=1&limit=4&sortBy=-lastActive&isOrganizationAccess=false\"),\n headers: getHeaders(user, owId),\n params: params\n });\n\n case 9:\n response = _context6.sent;\n return _context6.abrupt(\"return\", response.data.data);\n\n case 13:\n _context6.prev = 13;\n _context6.t0 = _context6[\"catch\"](2);\n throw new ServerError(_context6.t0);\n\n case 16:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6, null, [[2, 13]]);\n }));\n\n function fetchOrganizations(_x7) {\n return _fetchOrganizations.apply(this, arguments);\n }\n\n return fetchOrganizations;\n }()\n }, {\n key: \"logout\",\n value: function () {\n var _logout = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee7(token) {\n var user, owId, response;\n return regenerator.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n _context7.prev = 0;\n user = AuthService.getUser();\n owId = getOwId();\n\n if (!(!(owId !== null && owId !== void 0 && owId.length) || !user)) {\n _context7.next = 5;\n break;\n }\n\n throw new Error('ow ID or user not present');\n\n case 5:\n _context7.next = 7;\n return axios.post(\"\".concat(ORIGIN_URL, \"/api/v3/ua/logout\"), {}, {\n headers: getHeaders(user, owId)\n });\n\n case 7:\n response = _context7.sent;\n return _context7.abrupt(\"return\", response.data);\n\n case 11:\n _context7.prev = 11;\n _context7.t0 = _context7[\"catch\"](0);\n throw new ServerError(_context7.t0);\n\n case 14:\n _context7.prev = 14;\n localStorage.removeItem(BASE_INFO_NAME);\n localStorage.removeItem('owIds');\n return _context7.finish(14);\n\n case 18:\n case \"end\":\n return _context7.stop();\n }\n }\n }, _callee7, null, [[0, 11, 14, 18]]);\n }));\n\n function logout(_x8) {\n return _logout.apply(this, arguments);\n }\n\n return logout;\n }()\n }, {\n key: \"fetchTimezones\",\n value: function () {\n var _fetchTimezones = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee8() {\n var result, user, response, serverTimezones, mapTimezone, UTCTimezoneOption, USTimezoneOptions, otherTimezoneOptions, currentUserTimezone;\n return regenerator.wrap(function _callee8$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n result = {\n defaultUserTimezone: {\n value: 'UTC',\n label: 'UTC',\n id: 11\n },\n timezoneOptions: []\n };\n _context8.prev = 1;\n user = AuthService.getUser();\n\n if (user && user.apiToken) {\n _context8.next = 5;\n break;\n }\n\n return _context8.abrupt(\"return\", result);\n\n case 5:\n _context8.next = 7;\n return axios({\n url: \"\".concat(ORIGIN_URL, \"/api/v2/adv/static/timezones\"),\n headers: getHeaders(user)\n });\n\n case 7:\n response = _context8.sent;\n\n if (!(response && isEmpty(response.data))) {\n _context8.next = 10;\n break;\n }\n\n return _context8.abrupt(\"return\", result);\n\n case 10:\n serverTimezones = response.data.responseObject;\n\n mapTimezone = function mapTimezone(timezone) {\n return {\n label: timezone.label,\n value: timezone.name,\n id: timezone.id\n };\n };\n\n UTCTimezoneOption = [];\n USTimezoneOptions = [];\n otherTimezoneOptions = [];\n currentUserTimezone = {\n value: 'UTC',\n label: 'UTC',\n id: 11\n };\n serverTimezones.forEach(function (serverTimezone) {\n var timezone = mapTimezone(serverTimezone);\n\n if (timezone.id === user.timezoneId) {\n currentUserTimezone = timezone;\n }\n\n if (timezone.label.startsWith('US/')) {\n USTimezoneOptions.push(timezone);\n } else if (timezone.value === 'UTC') {\n UTCTimezoneOption.push(timezone);\n } else {\n otherTimezoneOptions.push(timezone);\n }\n });\n result.timezoneOptions = [].concat(USTimezoneOptions, UTCTimezoneOption, otherTimezoneOptions);\n result.defaultUserTimezone = currentUserTimezone;\n return _context8.abrupt(\"return\", result);\n\n case 22:\n _context8.prev = 22;\n _context8.t0 = _context8[\"catch\"](1);\n console.error(_context8.t0);\n return _context8.abrupt(\"return\", _objectSpread(_objectSpread({}, result), {}, {\n error: _context8.t0\n }));\n\n case 26:\n case \"end\":\n return _context8.stop();\n }\n }\n }, _callee8, null, [[1, 22]]);\n }));\n\n function fetchTimezones() {\n return _fetchTimezones.apply(this, arguments);\n }\n\n return fetchTimezones;\n }()\n }, {\n key: \"GetCreativeMediaSource\",\n value: function () {\n var _GetCreativeMediaSource = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee9(id) {\n var user, response;\n return regenerator.wrap(function _callee9$(_context9) {\n while (1) {\n switch (_context9.prev = _context9.next) {\n case 0:\n _context9.prev = 0;\n user = AuthService.getUser();\n\n if (user) {\n _context9.next = 4;\n break;\n }\n\n return _context9.abrupt(\"return\", null);\n\n case 4:\n _context9.next = 6;\n return axios({\n url: \"\".concat(ORIGIN_URL, \"/api/v2/crt/creative/\").concat(id),\n headers: getHeaders(user),\n params: {\n advertiserId: user.userId,\n dspId: user.dspId\n }\n });\n\n case 6:\n response = _context9.sent;\n return _context9.abrupt(\"return\", response.data.responseObject.creativeSource);\n\n case 10:\n _context9.prev = 10;\n _context9.t0 = _context9[\"catch\"](0);\n return _context9.abrupt(\"return\", null);\n\n case 13:\n case \"end\":\n return _context9.stop();\n }\n }\n }, _callee9, null, [[0, 10]]);\n }));\n\n function GetCreativeMediaSource(_x9) {\n return _GetCreativeMediaSource.apply(this, arguments);\n }\n\n return GetCreativeMediaSource;\n }()\n }, {\n key: \"getInitData\",\n value: function () {\n var _getInitData = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee10() {\n var response;\n return regenerator.wrap(function _callee10$(_context10) {\n while (1) {\n switch (_context10.prev = _context10.next) {\n case 0:\n _context10.prev = 0;\n _context10.next = 3;\n return axios({\n url: \"\".concat(ORIGIN_URL, \"/api/v3/ua/init\")\n });\n\n case 3:\n response = _context10.sent;\n this.initData = response.data.data;\n localStorage.setItem(INIT_DATA, JSON.stringify(this.initData));\n\n if (this.initData.ihpOwner === false) {\n setColorVariables();\n }\n\n return _context10.abrupt(\"return\", response.data.data);\n\n case 10:\n _context10.prev = 10;\n _context10.t0 = _context10[\"catch\"](0);\n console.error(_context10.t0);\n return _context10.abrupt(\"return\", null);\n\n case 14:\n case \"end\":\n return _context10.stop();\n }\n }\n }, _callee10, this, [[0, 10]]);\n }));\n\n function getInitData() {\n return _getInitData.apply(this, arguments);\n }\n\n return getInitData;\n }()\n }, {\n key: \"getIntercomId\",\n value: function () {\n var _getIntercomId = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee11() {\n var response;\n return regenerator.wrap(function _callee11$(_context11) {\n while (1) {\n switch (_context11.prev = _context11.next) {\n case 0:\n _context11.prev = 0;\n _context11.next = 3;\n return axios.get(\"\".concat(ORIGIN_URL, \"/api/v3/ua/chatbot\"), {\n headers: getHeaders()\n });\n\n case 3:\n response = _context11.sent;\n return _context11.abrupt(\"return\", response.data);\n\n case 7:\n _context11.prev = 7;\n _context11.t0 = _context11[\"catch\"](0);\n console.error(_context11.t0);\n return _context11.abrupt(\"return\", null);\n\n case 11:\n case \"end\":\n return _context11.stop();\n }\n }\n }, _callee11, null, [[0, 7]]);\n }));\n\n function getIntercomId() {\n return _getIntercomId.apply(this, arguments);\n }\n\n return getIntercomId;\n }()\n }, {\n key: \"getMultiLevelCustomersData\",\n value: function () {\n var _getMultiLevelCustomersData = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee12(params) {\n var response;\n return regenerator.wrap(function _callee12$(_context12) {\n while (1) {\n switch (_context12.prev = _context12.next) {\n case 0:\n _context12.prev = 0;\n _context12.next = 3;\n return axios.get(\"\".concat(ORIGIN_URL, \"/api/v3/ua/customers/list/multi-level\"), {\n params: _objectSpread({\n limit: 20,\n searchField: ''\n }, params),\n headers: getHeaders()\n });\n\n case 3:\n response = _context12.sent;\n return _context12.abrupt(\"return\", response.data.data);\n\n case 7:\n _context12.prev = 7;\n _context12.t0 = _context12[\"catch\"](0);\n console.error(_context12.t0);\n return _context12.abrupt(\"return\", null);\n\n case 11:\n case \"end\":\n return _context12.stop();\n }\n }\n }, _callee12, null, [[0, 7]]);\n }));\n\n function getMultiLevelCustomersData(_x10) {\n return _getMultiLevelCustomersData.apply(this, arguments);\n }\n\n return getMultiLevelCustomersData;\n }()\n }, {\n key: \"getWorkspacesData\",\n value: function () {\n var _getWorkspacesData = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee13(params) {\n var response;\n return regenerator.wrap(function _callee13$(_context13) {\n while (1) {\n switch (_context13.prev = _context13.next) {\n case 0:\n _context13.prev = 0;\n _context13.next = 3;\n return axios.get(\"\".concat(ORIGIN_URL, \"/api/v3/ua/customers/workspaces/list\"), {\n params: _objectSpread({\n limit: 20,\n searchField: ''\n }, params),\n headers: getHeaders()\n });\n\n case 3:\n response = _context13.sent;\n return _context13.abrupt(\"return\", response.data.data);\n\n case 7:\n _context13.prev = 7;\n _context13.t0 = _context13[\"catch\"](0);\n console.error(_context13.t0);\n return _context13.abrupt(\"return\", null);\n\n case 11:\n case \"end\":\n return _context13.stop();\n }\n }\n }, _callee13, null, [[0, 7]]);\n }));\n\n function getWorkspacesData(_x11) {\n return _getWorkspacesData.apply(this, arguments);\n }\n\n return getWorkspacesData;\n }()\n }]);\n\n return Api;\n}();\n\nvar ApiService = new Api();\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nvar BASE_INFO_NAME = 'authorizedUser';\n\nvar Auth = /*#__PURE__*/_createClass(function Auth() {\n var _this = this;\n\n _classCallCheck(this, Auth);\n\n this.autoLogin = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee(email, password, owId) {\n var user, _owId, profile, userData;\n\n return regenerator.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n _context.next = 3;\n return ApiService.authenticate({\n email: email,\n password: password\n });\n\n case 3:\n user = _context.sent;\n _owId = getOwId();\n\n if (Boolean(owId)) {\n _owId = owId;\n }\n\n localStorage.setItem('owIds', JSON.stringify([Number.parseInt(_owId, 10)]));\n _context.next = 9;\n return ApiService.fetchUserProfile(user, _owId);\n\n case 9:\n profile = _context.sent;\n userData = _objectSpread$1(_objectSpread$1({}, user), profile);\n _this._user = userData;\n localStorage.setItem(BASE_INFO_NAME, JSON.stringify(userData));\n _context.next = 18;\n break;\n\n case 15:\n _context.prev = 15;\n _context.t0 = _context[\"catch\"](0);\n throw _context.t0;\n\n case 18:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[0, 15]]);\n }));\n\n return function (_x, _x2, _x3) {\n return _ref.apply(this, arguments);\n };\n }();\n\n this.authorize = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee2(credentials, rememberMe) {\n var user, owId, profile, userData;\n return regenerator.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.prev = 0;\n user = credentials;\n\n if (credentials.apiToken) {\n _context2.next = 6;\n break;\n }\n\n _context2.next = 5;\n return ApiService.authenticate(credentials);\n\n case 5:\n user = _context2.sent;\n\n case 6:\n owId = getOwId();\n\n if (owId !== null && owId !== void 0 && owId.length) {\n _context2.next = 9;\n break;\n }\n\n throw new Error('ow ID not present');\n\n case 9:\n _context2.next = 11;\n return ApiService.fetchUserProfile(user, owId);\n\n case 11:\n profile = _context2.sent;\n userData = _objectSpread$1(_objectSpread$1({}, user), profile);\n _this._user = userData;\n _this._rememberMe = rememberMe;\n\n if (rememberMe) {\n localStorage.setItem(BASE_INFO_NAME, JSON.stringify(userData));\n } else {\n localStorage.removeItem(BASE_INFO_NAME);\n }\n\n return _context2.abrupt(\"return\", userData);\n\n case 19:\n _context2.prev = 19;\n _context2.t0 = _context2[\"catch\"](0);\n throw _context2.t0;\n\n case 22:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, null, [[0, 19]]);\n }));\n\n return function (_x4, _x5) {\n return _ref2.apply(this, arguments);\n };\n }();\n\n this.singleSignon = /*#__PURE__*/function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee3(apiToken, owId) {\n var profile, userData;\n return regenerator.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.prev = 0;\n\n if (owId !== null && owId !== void 0 && owId.length) {\n _context3.next = 3;\n break;\n }\n\n throw new Error('ow ID not present');\n\n case 3:\n _context3.next = 5;\n return ApiService.fetchUserProfile({\n apiToken: apiToken\n }, owId);\n\n case 5:\n profile = _context3.sent;\n userData = _objectSpread$1(_objectSpread$1({}, userAuth({\n access_token: apiToken\n })), profile);\n _this._user = userData;\n localStorage.setItem(BASE_INFO_NAME, JSON.stringify(userData));\n return _context3.abrupt(\"return\", userData);\n\n case 12:\n _context3.prev = 12;\n _context3.t0 = _context3[\"catch\"](0);\n throw _context3.t0;\n\n case 15:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, null, [[0, 12]]);\n }));\n\n return function (_x6, _x7) {\n return _ref3.apply(this, arguments);\n };\n }();\n\n this.updateUser = function (data) {\n _this._user = _objectSpread$1(_objectSpread$1({}, _this._user), data);\n localStorage.setItem(BASE_INFO_NAME, JSON.stringify(_this._user));\n };\n\n this.getToken = function () {\n return _this._user && _this._user.apiToken;\n };\n\n this.getUserApps = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee4() {\n var apps;\n return regenerator.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.prev = 0;\n\n if (!_this._userApps) {\n _context4.next = 5;\n break;\n }\n\n return _context4.abrupt(\"return\", _this._userApps);\n\n case 5:\n _context4.next = 7;\n return ApiService.fetchUserApps();\n\n case 7:\n apps = _context4.sent;\n _this._userApps = apps;\n return _context4.abrupt(\"return\", apps);\n\n case 10:\n _context4.next = 15;\n break;\n\n case 12:\n _context4.prev = 12;\n _context4.t0 = _context4[\"catch\"](0);\n throw _context4.t0;\n\n case 15:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, null, [[0, 12]]);\n }));\n\n this.getUser = function () {\n return _this._user;\n };\n\n this.isAuthenticated = function () {\n return !!_this._user;\n };\n\n this.unauthorize = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee5() {\n return regenerator.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n ApiService.logout();\n _this._user = null;\n _this._userApps = null;\n\n case 3:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5);\n }));\n this._user = JSON.parse(localStorage.getItem(BASE_INFO_NAME));\n});\n\nvar AuthService = new Auth();\n\nvar build_umd = createCommonjsModule(function (module, exports) {\n(function webpackUniversalModuleDefinition(root, factory) {\n\tmodule.exports = factory();\n})(commonjsGlobal, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./node_modules/@babel/runtime/helpers/arrayLikeToArray.js\":\n/*!*****************************************************************!*\\\n !*** ./node_modules/@babel/runtime/helpers/arrayLikeToArray.js ***!\n \\*****************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n\n/***/ }),\n\n/***/ \"./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js\":\n/*!******************************************************************!*\\\n !*** ./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js ***!\n \\******************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ \"./node_modules/@babel/runtime/helpers/arrayLikeToArray.js\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n\n/***/ }),\n\n/***/ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\":\n/*!***************************************************************!*\\\n !*** ./node_modules/@babel/runtime/helpers/classCallCheck.js ***!\n \\***************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n\n/***/ }),\n\n/***/ \"./node_modules/@babel/runtime/helpers/createClass.js\":\n/*!************************************************************!*\\\n !*** ./node_modules/@babel/runtime/helpers/createClass.js ***!\n \\************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n\n/***/ }),\n\n/***/ \"./node_modules/@babel/runtime/helpers/defineProperty.js\":\n/*!***************************************************************!*\\\n !*** ./node_modules/@babel/runtime/helpers/defineProperty.js ***!\n \\***************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n\n/***/ }),\n\n/***/ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\":\n/*!**********************************************************************!*\\\n !*** ./node_modules/@babel/runtime/helpers/interopRequireDefault.js ***!\n \\**********************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n\n/***/ }),\n\n/***/ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\":\n/*!***********************************************************************!*\\\n !*** ./node_modules/@babel/runtime/helpers/interopRequireWildcard.js ***!\n \\***********************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ \"./node_modules/@babel/runtime/helpers/typeof.js\")[\"default\"];\n\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\n\nfunction _interopRequireWildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) {\n return obj;\n }\n\n if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") {\n return {\n \"default\": obj\n };\n }\n\n var cache = _getRequireWildcardCache(nodeInterop);\n\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n\n newObj[\"default\"] = obj;\n\n if (cache) {\n cache.set(obj, newObj);\n }\n\n return newObj;\n}\n\nmodule.exports = _interopRequireWildcard;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n\n/***/ }),\n\n/***/ \"./node_modules/@babel/runtime/helpers/iterableToArray.js\":\n/*!****************************************************************!*\\\n !*** ./node_modules/@babel/runtime/helpers/iterableToArray.js ***!\n \\****************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n\n/***/ }),\n\n/***/ \"./node_modules/@babel/runtime/helpers/nonIterableSpread.js\":\n/*!******************************************************************!*\\\n !*** ./node_modules/@babel/runtime/helpers/nonIterableSpread.js ***!\n \\******************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n\n/***/ }),\n\n/***/ \"./node_modules/@babel/runtime/helpers/objectWithoutProperties.js\":\n/*!************************************************************************!*\\\n !*** ./node_modules/@babel/runtime/helpers/objectWithoutProperties.js ***!\n \\************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar objectWithoutPropertiesLoose = __webpack_require__(/*! ./objectWithoutPropertiesLoose.js */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\");\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutProperties;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n\n/***/ }),\n\n/***/ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\":\n/*!*****************************************************************************!*\\\n !*** ./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js ***!\n \\*****************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n\n/***/ }),\n\n/***/ \"./node_modules/@babel/runtime/helpers/toConsumableArray.js\":\n/*!******************************************************************!*\\\n !*** ./node_modules/@babel/runtime/helpers/toConsumableArray.js ***!\n \\******************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar arrayWithoutHoles = __webpack_require__(/*! ./arrayWithoutHoles.js */ \"./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js\");\n\nvar iterableToArray = __webpack_require__(/*! ./iterableToArray.js */ \"./node_modules/@babel/runtime/helpers/iterableToArray.js\");\n\nvar unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ \"./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js\");\n\nvar nonIterableSpread = __webpack_require__(/*! ./nonIterableSpread.js */ \"./node_modules/@babel/runtime/helpers/nonIterableSpread.js\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n\n/***/ }),\n\n/***/ \"./node_modules/@babel/runtime/helpers/typeof.js\":\n/*!*******************************************************!*\\\n !*** ./node_modules/@babel/runtime/helpers/typeof.js ***!\n \\*******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n\n/***/ }),\n\n/***/ \"./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js\":\n/*!***************************************************************************!*\\\n !*** ./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js ***!\n \\***************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ \"./node_modules/@babel/runtime/helpers/arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n\n/***/ }),\n\n/***/ \"./node_modules/webpack/buildin/global.js\":\n/*!***********************************!*\\\n !*** (webpack)/buildin/global.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nvar g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n\n\n/***/ }),\n\n/***/ \"./packages/@apphub:logrocket-console/src/index.js\":\n/*!*********************************************************!*\\\n !*** ./packages/@apphub:logrocket-console/src/index.js ***!\n \\*********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _registerConsole = _interopRequireDefault(__webpack_require__(/*! ./registerConsole */ \"./packages/@apphub:logrocket-console/src/registerConsole.js\"));\n\nvar _default = _registerConsole.default;\nexports.default = _default;\nmodule.exports = exports.default;\n\n/***/ }),\n\n/***/ \"./packages/@apphub:logrocket-console/src/registerConsole.js\":\n/*!*******************************************************************!*\\\n !*** ./packages/@apphub:logrocket-console/src/registerConsole.js ***!\n \\*******************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = registerConsole;\n\nvar _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ \"./node_modules/@babel/runtime/helpers/typeof.js\"));\n\nvar _enhanceFunc = _interopRequireDefault(__webpack_require__(/*! @apphub/logrocket-utils/src/enhanceFunc */ \"./packages/@apphub:logrocket-utils/src/enhanceFunc.js\"));\n\nvar _logrocketExceptions = __webpack_require__(/*! @apphub/logrocket-exceptions */ \"./packages/@apphub:logrocket-exceptions/src/index.js\");\n\nfunction registerConsole(logger) {\n var unsubFunctions = [];\n var methods = ['log', 'warn', 'info', 'error', 'debug'];\n methods.forEach(function (method) {\n unsubFunctions.push((0, _enhanceFunc.default)(console, method, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n logger.addEvent('lr.core.LogEvent', function () {\n var consoleOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var isEnabled = consoleOptions.isEnabled;\n\n if ((0, _typeof2.default)(isEnabled) === 'object' && isEnabled[method] === false || isEnabled === false) {\n return null;\n }\n\n if (method === 'error' && consoleOptions.shouldAggregateConsoleErrors) {\n _logrocketExceptions.Capture.captureMessage(logger, args[0], {}, true);\n }\n\n return {\n logLevel: method.toUpperCase(),\n args: args\n };\n });\n }));\n });\n return function () {\n unsubFunctions.forEach(function (unsubFunction) {\n return unsubFunction();\n });\n };\n}\n\nmodule.exports = exports.default;\n\n/***/ }),\n\n/***/ \"./packages/@apphub:logrocket-exceptions/src/Capture.js\":\n/*!**************************************************************!*\\\n !*** ./packages/@apphub:logrocket-exceptions/src/Capture.js ***!\n \\**************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.captureMessage = captureMessage;\nexports.captureException = captureException;\n\nvar _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ \"./node_modules/@babel/runtime/helpers/typeof.js\"));\n\nvar _TraceKit = _interopRequireDefault(__webpack_require__(/*! @apphub/logrocket-utils/src/TraceKit */ \"./packages/@apphub:logrocket-utils/src/TraceKit.js\"));\n\nvar _stackTraceFromError = _interopRequireDefault(__webpack_require__(/*! ./stackTraceFromError */ \"./packages/@apphub:logrocket-exceptions/src/stackTraceFromError.js\"));\n\n/* eslint-disable no-param-reassign */\nfunction isScalar(value) {\n return /boolean|number|string/.test((0, _typeof2.default)(value));\n}\n\nfunction scrub(data, options) {\n if (options) {\n var optionalScalars = [// Valid values for 'level' are 'fatal', 'error', 'warning', 'info',\n // and 'debug'. Defaults to 'error'.\n 'level', 'logger'];\n\n for (var _i = 0, _optionalScalars = optionalScalars; _i < _optionalScalars.length; _i++) {\n var field = _optionalScalars[_i];\n var value = options[field];\n\n if (isScalar(value)) {\n data[field] = value.toString();\n }\n }\n\n var optionalMaps = ['tags', 'extra'];\n\n for (var _i2 = 0, _optionalMaps = optionalMaps; _i2 < _optionalMaps.length; _i2++) {\n var _field = _optionalMaps[_i2];\n var dirty = options[_field] || {};\n var scrubbed = {};\n\n for (var _i3 = 0, _Object$keys = Object.keys(dirty); _i3 < _Object$keys.length; _i3++) {\n var key = _Object$keys[_i3];\n var _value = dirty[key];\n\n if (isScalar(_value)) {\n scrubbed[key.toString()] = _value.toString();\n }\n }\n\n data[_field] = scrubbed;\n }\n }\n}\n\nfunction captureMessage(logger, message) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var isConsole = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var data = {\n exceptionType: isConsole ? 'CONSOLE' : 'MESSAGE',\n message: message,\n browserHref: window.location ? window.location.href : ''\n };\n scrub(data, options);\n logger.addEvent('lr.core.Exception', function () {\n return data;\n });\n}\n\nfunction captureException(logger, exception) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var preppedTrace = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var trace = preppedTrace || _TraceKit.default.computeStackTrace(exception);\n\n var data = {\n exceptionType: 'WINDOW',\n errorType: trace.name,\n message: trace.message,\n browserHref: window.location ? window.location.href : ''\n };\n scrub(data, options);\n var addEventOptions = {\n _stackTrace: (0, _stackTraceFromError.default)(trace)\n };\n logger.addEvent('lr.core.Exception', function () {\n return data;\n }, addEventOptions);\n}\n\n/***/ }),\n\n/***/ \"./packages/@apphub:logrocket-exceptions/src/index.js\":\n/*!************************************************************!*\\\n !*** ./packages/@apphub:logrocket-exceptions/src/index.js ***!\n \\************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"registerExceptions\", {\n enumerable: true,\n get: function get() {\n return _registerExceptions.default;\n }\n});\nexports.Capture = void 0;\n\nvar _registerExceptions = _interopRequireDefault(__webpack_require__(/*! ./registerExceptions */ \"./packages/@apphub:logrocket-exceptions/src/registerExceptions.js\"));\n\nvar Capture = _interopRequireWildcard(__webpack_require__(/*! ./Capture */ \"./packages/@apphub:logrocket-exceptions/src/Capture.js\"));\n\nexports.Capture = Capture;\n\n/***/ }),\n\n/***/ \"./packages/@apphub:logrocket-exceptions/src/raven/raven.js\":\n/*!******************************************************************!*\\\n !*** ./packages/@apphub:logrocket-exceptions/src/raven/raven.js ***!\n \\******************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n/* WEBPACK VAR INJECTION */(function(global) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\"));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\"));\n\nvar _TraceKit = _interopRequireDefault(__webpack_require__(/*! @apphub/logrocket-utils/src/TraceKit */ \"./packages/@apphub:logrocket-utils/src/TraceKit.js\"));\n\n/* eslint-disable */\n\n/*\nSome contents of this file were originaly from raven-js, BSD-2 Clause\n\nCopyright (c) 2018 Sentry (https://sentry.io) and individual contributors.\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\nvar objectPrototype = Object.prototype;\n\nfunction isUndefined(what) {\n return what === void 0;\n}\n\nfunction isFunction(what) {\n return typeof what === 'function';\n}\n/**\n * hasKey, a better form of hasOwnProperty\n * Example: hasKey(MainHostObject, property) === true/false\n *\n * @param {Object} host object to check property\n * @param {string} key to check\n */\n\n\nfunction hasKey(object, key) {\n return objectPrototype.hasOwnProperty.call(object, key);\n}\n/**\n * Polyfill a method\n * @param obj object e.g. `document`\n * @param name method name present on object e.g. `addEventListener`\n * @param replacement replacement function\n * @param track {optional} record instrumentation to an array\n */\n\n\nfunction fill(obj, name, replacement, track) {\n var orig = obj[name];\n obj[name] = replacement(orig);\n\n if (track) {\n track.push([obj, name, orig]);\n }\n}\n\nvar _window = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nvar _document = _window.document;\n\nvar Handler = /*#__PURE__*/function () {\n function Handler(_ref) {\n var captureException = _ref.captureException;\n (0, _classCallCheck2.default)(this, Handler);\n this._errorHandler = this._errorHandler.bind(this);\n this._ignoreOnError = 0;\n this._wrappedBuiltIns = [];\n this.captureException = captureException;\n\n _TraceKit.default.report.subscribe(this._errorHandler);\n\n this._instrumentTryCatch();\n }\n\n (0, _createClass2.default)(Handler, [{\n key: \"uninstall\",\n value: function uninstall() {\n _TraceKit.default.report.unsubscribe(this._errorHandler); // restore any wrapped builtins\n\n\n var builtin;\n\n while (this._wrappedBuiltIns.length) {\n builtin = this._wrappedBuiltIns.shift();\n var obj = builtin[0],\n name = builtin[1],\n orig = builtin[2];\n obj[name] = orig;\n }\n }\n }, {\n key: \"_errorHandler\",\n value: function _errorHandler(report) {\n if (!this._ignoreOnError) {\n this.captureException(report);\n }\n }\n }, {\n key: \"_ignoreNextOnError\",\n value: function _ignoreNextOnError() {\n var _this = this;\n\n this._ignoreOnError += 1;\n setTimeout(function () {\n // onerror should trigger before setTimeout\n _this._ignoreOnError -= 1;\n });\n }\n /*\n * Wrap code within a context so Handler can capture errors\n * reliably across domains that is executed immediately.\n *\n * @param {object} options A specific set of options for this context [optional]\n * @param {function} func The callback to be immediately executed within the context\n * @param {array} args An array of arguments to be called with the callback [optional]\n */\n\n }, {\n key: \"context\",\n value: function context(options, func, args) {\n if (isFunction(options)) {\n args = func || [];\n func = options;\n options = undefined;\n }\n\n return this.wrap(options, func).apply(this, args);\n }\n }, {\n key: \"wrap\",\n value:\n /*\n * Wrap code within a context and returns back a new function to be executed\n *\n * @param {object} options A specific set of options for this context [optional]\n * @param {function} func The function to be wrapped in a new context\n * @param {function} func A function to call before the try/catch wrapper [optional, private]\n * @return {function} The newly wrapped functions with a context\n */\n function wrap(options, func, _before) {\n var self = this; // 1 argument has been passed, and it's not a function\n // so just return it\n\n if (isUndefined(func) && !isFunction(options)) {\n return options;\n } // options is optional\n\n\n if (isFunction(options)) {\n func = options;\n options = undefined;\n } // At this point, we've passed along 2 arguments, and the second one\n // is not a function either, so we'll just return the second argument.\n\n\n if (!isFunction(func)) {\n return func;\n } // We don't wanna wrap it twice!\n\n\n try {\n if (func.__lr__) {\n return func;\n } // If this has already been wrapped in the past, return that\n\n\n if (func.__lr_wrapper__) {\n return func.__lr_wrapper__;\n } // If func is not extensible, return the function as-is to prevent TypeErrors\n // when trying to add new props & to assure immutable funcs aren't changed\n\n\n if (!Object.isExtensible(func)) {\n return func;\n }\n } catch (e) {\n // Just accessing custom props in some Selenium environments\n // can cause a \"Permission denied\" exception (see lr-js#495).\n // Bail on wrapping and return the function as-is (defers to window.onerror).\n return func;\n }\n\n function wrapped() {\n var args = [],\n i = arguments.length,\n deep = !options || options && options.deep !== false;\n\n if (_before && isFunction(_before)) {\n _before.apply(this, arguments);\n } // Recursively wrap all of a function's arguments that are\n // functions themselves.\n\n\n while (i--) {\n args[i] = deep ? self.wrap(options, arguments[i]) : arguments[i];\n }\n\n try {\n // Attempt to invoke user-land function. This is part of the LogRocket SDK.\n // If you're seeing this frame in a stack trace, it means that LogRocket caught\n // an unhandled error thrown by your application code, reported it, then bubbled\n // it up. This is expected behavior and is not a bug with LogRocket.\n return func.apply(this, args);\n } catch (e) {\n self._ignoreNextOnError();\n\n self.captureException(_TraceKit.default.computeStackTrace(e), options);\n throw e;\n }\n } // copy over properties of the old function\n\n\n for (var property in func) {\n if (hasKey(func, property)) {\n wrapped[property] = func[property];\n }\n }\n\n wrapped.prototype = func.prototype;\n func.__lr_wrapper__ = wrapped; // Signal that this function has been wrapped already\n // for both debugging and to prevent it to being wrapped twice\n\n wrapped.__lr__ = true;\n wrapped.__inner__ = func;\n return wrapped;\n }\n }, {\n key: \"_instrumentTryCatch\",\n value:\n /**\n * Install any queued plugins\n */\n function _instrumentTryCatch() {\n var self = this;\n var wrappedBuiltIns = self._wrappedBuiltIns;\n\n function wrapTimeFn(orig) {\n return function (fn, t) {\n // preserve arity\n // Make a copy of the arguments to prevent deoptimization\n // https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#32-leaking-arguments\n var args = new Array(arguments.length);\n\n for (var i = 0; i < args.length; ++i) {\n args[i] = arguments[i];\n }\n\n var originalCallback = args[0];\n\n if (isFunction(originalCallback)) {\n args[0] = self.wrap(originalCallback);\n } // IE < 9 doesn't support .call/.apply on setInterval/setTimeout, but it\n // also supports only two arguments and doesn't care what this is, so we\n // can just call the original function directly.\n\n\n if (orig.apply) {\n return orig.apply(this, args);\n } else {\n return orig(args[0], args[1]);\n }\n };\n }\n\n function wrapEventTarget(global) {\n var proto = _window[global] && _window[global].prototype;\n\n if (proto && proto.hasOwnProperty && proto.hasOwnProperty('addEventListener')) {\n fill(proto, 'addEventListener', function (orig) {\n return function (evtName, fn, capture, secure) {\n // preserve arity\n try {\n if (fn && fn.handleEvent) {\n fn.handleEvent = self.wrap(fn.handleEvent);\n }\n } catch (err) {// can sometimes get 'Permission denied to access property \"handle Event'\n } // More breadcrumb DOM capture ... done here and not in `_instrumentBreadcrumbs`\n // so that we don't have more than one wrapper function\n\n\n var before;\n return orig.call(this, evtName, self.wrap(fn, undefined, before), capture, secure);\n };\n }, wrappedBuiltIns);\n fill(proto, 'removeEventListener', function (orig) {\n return function (evt, fn, capture, secure) {\n try {\n fn = fn && (fn.__lr_wrapper__ ? fn.__lr_wrapper__ : fn);\n } catch (e) {// ignore, accessing __lr_wrapper__ will throw in some Selenium environments\n }\n\n return orig.call(this, evt, fn, capture, secure);\n };\n }, wrappedBuiltIns);\n }\n }\n\n fill(_window, 'setTimeout', wrapTimeFn, wrappedBuiltIns);\n fill(_window, 'setInterval', wrapTimeFn, wrappedBuiltIns);\n\n if (_window.requestAnimationFrame) {\n fill(_window, 'requestAnimationFrame', function (orig) {\n return function (cb) {\n return orig(self.wrap(cb));\n };\n }, wrappedBuiltIns);\n } // event targets borrowed from bugsnag-js:\n // https://github.com/bugsnag/bugsnag-js/blob/master/src/bugsnag.js#L666\n\n\n var eventTargets = ['EventTarget', 'Window', 'Node', 'ApplicationCache', 'AudioTrackList', 'ChannelMergerNode', 'CryptoOperation', 'EventSource', 'FileReader', 'HTMLUnknownElement', 'IDBDatabase', 'IDBRequest', 'IDBTransaction', 'KeyOperation', 'MediaController', 'MessagePort', 'ModalWindow', 'Notification', 'SVGElementInstance', 'Screen', 'TextTrack', 'TextTrackCue', 'TextTrackList', 'WebSocket', 'WebSocketWorker', 'Worker', 'XMLHttpRequest', 'XMLHttpRequestEventTarget', 'XMLHttpRequestUpload'];\n\n for (var i = 0; i < eventTargets.length; i++) {\n wrapEventTarget(eventTargets[i]);\n }\n\n var $ = _window.jQuery || _window.$;\n\n if ($ && $.fn && $.fn.ready) {\n fill($.fn, 'ready', function (orig) {\n return function (fn) {\n return orig.call(this, self.wrap(fn));\n };\n }, wrappedBuiltIns);\n }\n }\n }]);\n return Handler;\n}();\n\nexports.default = Handler;\nmodule.exports = exports.default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../../node_modules/webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")));\n\n/***/ }),\n\n/***/ \"./packages/@apphub:logrocket-exceptions/src/registerExceptions.js\":\n/*!*************************************************************************!*\\\n !*** ./packages/@apphub:logrocket-exceptions/src/registerExceptions.js ***!\n \\*************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = registerCore;\n\nvar _raven = _interopRequireDefault(__webpack_require__(/*! ./raven/raven */ \"./packages/@apphub:logrocket-exceptions/src/raven/raven.js\"));\n\nvar Capture = _interopRequireWildcard(__webpack_require__(/*! ./Capture */ \"./packages/@apphub:logrocket-exceptions/src/Capture.js\"));\n\nfunction registerCore(logger) {\n var raven = new _raven.default({\n captureException: function captureException(errorReport) {\n Capture.captureException(logger, null, null, errorReport);\n }\n });\n\n var rejectionHandler = function rejectionHandler(evt) {\n // http://2ality.com/2016/04/unhandled-rejections.html\n logger.addEvent('lr.core.Exception', function () {\n return {\n exceptionType: 'UNHANDLED_REJECTION',\n message: evt.reason || 'Unhandled Promise rejection'\n };\n });\n };\n\n window.addEventListener('unhandledrejection', rejectionHandler);\n return function () {\n window.removeEventListener('unhandledrejection', rejectionHandler);\n raven.uninstall();\n };\n}\n\nmodule.exports = exports.default;\n\n/***/ }),\n\n/***/ \"./packages/@apphub:logrocket-exceptions/src/stackTraceFromError.js\":\n/*!**************************************************************************!*\\\n !*** ./packages/@apphub:logrocket-exceptions/src/stackTraceFromError.js ***!\n \\**************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = stackTraceFromError;\n\nfunction stackTraceFromError(errorReport) {\n function makeNotNull(val) {\n return val === null ? undefined : val;\n }\n\n return errorReport.stack ? errorReport.stack.map(function (frame) {\n return {\n lineNumber: makeNotNull(frame.line),\n columnNumber: makeNotNull(frame.column),\n fileName: makeNotNull(frame.url),\n functionName: makeNotNull(frame.func)\n };\n }) : undefined;\n}\n\nmodule.exports = exports.default;\n\n/***/ }),\n\n/***/ \"./packages/@apphub:logrocket-network/src/fetchIntercept.js\":\n/*!******************************************************************!*\\\n !*** ./packages/@apphub:logrocket-network/src/fetchIntercept.js ***!\n \\******************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ \"./node_modules/@babel/runtime/helpers/toConsumableArray.js\"));\n\nvar _registerXHR = __webpack_require__(/*! ./registerXHR */ \"./packages/@apphub:logrocket-network/src/registerXHR.js\");\n\nvar interceptors = [];\n\nfunction makeInterceptor(fetch, fetchId) {\n var reversedInterceptors = interceptors.reduce(function (array, interceptor) {\n return [interceptor].concat(array);\n }, []);\n\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n var promise = Promise.resolve(args); // Register request interceptors\n\n reversedInterceptors.forEach(function (_ref) {\n var request = _ref.request,\n requestError = _ref.requestError;\n\n if (request || requestError) {\n promise = promise.then(function (args) {\n return request.apply(void 0, [fetchId].concat((0, _toConsumableArray2.default)(args)));\n }, function (args) {\n return requestError.apply(void 0, [fetchId].concat((0, _toConsumableArray2.default)(args)));\n });\n }\n });\n promise = promise.then(function (args) {\n (0, _registerXHR.setActive)(false);\n var res;\n var err;\n\n try {\n res = fetch.apply(void 0, (0, _toConsumableArray2.default)(args));\n } catch (_err) {\n err = _err;\n }\n\n (0, _registerXHR.setActive)(true);\n\n if (err) {\n throw err;\n }\n\n return res;\n });\n reversedInterceptors.forEach(function (_ref2) {\n var response = _ref2.response,\n responseError = _ref2.responseError;\n\n if (response || responseError) {\n promise = promise.then(function (res) {\n return response(fetchId, res);\n }, function (err) {\n return responseError && responseError(fetchId, err);\n });\n }\n });\n return promise;\n}\n\nfunction attach(env) {\n if (!env.fetch || !env.Promise) {\n // Make sure fetch is available in the given environment. If it's not, then\n // default to using XHR intercept.\n return;\n }\n\n var isPolyfill = env.fetch.polyfill; // eslint-disable-next-line no-param-reassign\n\n env.fetch = function (fetch) {\n var fetchId = 0;\n return function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return makeInterceptor.apply(void 0, [fetch, fetchId++].concat(args));\n };\n }(env.fetch); // Forward the polyfill properly from fetch (set by github/whatwg-fetch).\n\n\n if (isPolyfill) {\n // eslint-disable-next-line no-param-reassign\n env.fetch.polyfill = isPolyfill;\n }\n} // TODO: React Native\n// attach(global);\n\n\nvar didAttach = false;\nvar _default = {\n register: function register(interceptor) {\n if (!didAttach) {\n didAttach = true;\n attach(window);\n }\n\n interceptors.push(interceptor);\n return function () {\n var index = interceptors.indexOf(interceptor);\n\n if (index >= 0) {\n interceptors.splice(index, 1);\n }\n };\n },\n clear: function clear() {\n interceptors = [];\n }\n};\nexports.default = _default;\nmodule.exports = exports.default;\n\n/***/ }),\n\n/***/ \"./packages/@apphub:logrocket-network/src/index.js\":\n/*!*********************************************************!*\\\n !*** ./packages/@apphub:logrocket-network/src/index.js ***!\n \\*********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = registerNetwork;\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\"));\n\nvar _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ \"./node_modules/@babel/runtime/helpers/typeof.js\"));\n\nvar _registerFetch = _interopRequireDefault(__webpack_require__(/*! ./registerFetch */ \"./packages/@apphub:logrocket-network/src/registerFetch.js\"));\n\nvar _registerNetworkInformation = _interopRequireDefault(__webpack_require__(/*! ./registerNetworkInformation */ \"./packages/@apphub:logrocket-network/src/registerNetworkInformation.js\"));\n\nvar _registerXHR = _interopRequireDefault(__webpack_require__(/*! ./registerXHR */ \"./packages/@apphub:logrocket-network/src/registerXHR.js\"));\n\nvar _mapValues = _interopRequireDefault(__webpack_require__(/*! @apphub/logrocket-utils/src/mapValues */ \"./packages/@apphub:logrocket-utils/src/mapValues.js\"));\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction registerNetwork(logger) {\n var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n isReactNative: false\n };\n var isReactNative = config.isReactNative,\n shouldAugmentNPS = config.shouldAugmentNPS;\n var ignoredNetwork = {}; // truncate if > 4MB in size\n\n var truncate = function truncate(data) {\n var limit = 1024 * 1000 * 4;\n var str = data;\n\n if ((0, _typeof2.default)(data) === 'object' && data != null) {\n var proto = Object.getPrototypeOf(data);\n\n if (proto === Object.prototype || proto === null) {\n // plain object - jsonify for the size check\n str = JSON.stringify(data);\n }\n }\n\n if (str && str.length && str.length > limit && typeof str === 'string') {\n var beginning = str.substring(0, 1000);\n return \"\".concat(beginning, \" ... LogRocket truncating to first 1000 characters.\\n Keep data under 4MB to prevent truncation. https://docs.logrocket.com/reference#network\");\n }\n\n return data;\n };\n\n var addRequest = function addRequest(reqId, request) {\n var method = request.method;\n logger.addEvent('lr.network.RequestEvent', function () {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$isEnabled = _ref.isEnabled,\n isEnabled = _ref$isEnabled === void 0 ? true : _ref$isEnabled,\n _ref$requestSanitizer = _ref.requestSanitizer,\n requestSanitizer = _ref$requestSanitizer === void 0 ? function (f) {\n return f;\n } : _ref$requestSanitizer;\n\n if (!isEnabled) {\n return null;\n }\n\n var sanitized = null;\n\n try {\n // only try catch user defined functions\n sanitized = requestSanitizer(_objectSpread(_objectSpread({}, request), {}, {\n reqId: reqId\n }));\n } catch (err) {\n console.error(err);\n }\n\n if (sanitized) {\n var url = sanitized.url;\n\n if (typeof document !== 'undefined' && typeof document.createElement === 'function') {\n // Writing and then reading from an a tag turns a relative\n // url into an absolute one.\n var a = document.createElement('a');\n a.href = sanitized.url;\n url = a.href;\n }\n\n return {\n reqId: reqId,\n // default\n url: url,\n // sanitized\n headers: (0, _mapValues.default)(sanitized.headers, function (headerValue) {\n // sanitized\n return \"\".concat(headerValue);\n }),\n body: truncate(sanitized.body),\n // sanitized\n method: method,\n // default\n referrer: sanitized.referrer || undefined,\n // sanitized\n mode: sanitized.mode || undefined,\n // sanitized\n credentials: sanitized.credentials || undefined // sanitized\n\n };\n }\n\n ignoredNetwork[reqId] = true;\n return null;\n });\n };\n\n var addResponse = function addResponse(reqId, response) {\n var method = response.method,\n status = response.status;\n logger.addEvent('lr.network.ResponseEvent', function () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref2$isEnabled = _ref2.isEnabled,\n isEnabled = _ref2$isEnabled === void 0 ? true : _ref2$isEnabled,\n _ref2$responseSanitiz = _ref2.responseSanitizer,\n responseSanitizer = _ref2$responseSanitiz === void 0 ? function (f) {\n return f;\n } : _ref2$responseSanitiz;\n\n if (!isEnabled) {\n return null;\n } else if (ignoredNetwork[reqId]) {\n delete ignoredNetwork[reqId];\n return null;\n }\n\n var sanitized = null;\n\n try {\n // only try catch user defined functions\n sanitized = responseSanitizer(_objectSpread(_objectSpread({}, response), {}, {\n reqId: reqId\n }));\n } catch (err) {\n console.error(err); // fall through to redacted log\n }\n\n if (sanitized) {\n return {\n reqId: reqId,\n // default\n status: sanitized.status,\n // sanitized\n headers: (0, _mapValues.default)(sanitized.headers, function (headerValue) {\n // sanitized\n return \"\".concat(headerValue);\n }),\n body: truncate(sanitized.body),\n // sanitized\n method: method // default\n\n };\n }\n\n return {\n reqId: reqId,\n // default\n status: status,\n // default\n headers: {},\n // redacted\n body: null,\n // redacted\n method: method // default\n\n };\n });\n };\n\n var isIgnored = function isIgnored(reqId) {\n return logger.isDisabled || ignoredNetwork[reqId] === true;\n };\n\n var unsubFetch = (0, _registerFetch.default)({\n addRequest: addRequest,\n addResponse: addResponse,\n isIgnored: isIgnored\n });\n var unsubXHR = (0, _registerXHR.default)({\n addRequest: addRequest,\n addResponse: addResponse,\n isIgnored: isIgnored,\n logger: logger,\n shouldAugmentNPS: shouldAugmentNPS\n });\n var unsubNetworkInformation = isReactNative ? function () {} : (0, _registerNetworkInformation.default)(logger);\n return function () {\n unsubNetworkInformation();\n unsubFetch();\n unsubXHR();\n };\n}\n\nmodule.exports = exports.default;\n\n/***/ }),\n\n/***/ \"./packages/@apphub:logrocket-network/src/registerFetch.js\":\n/*!*****************************************************************!*\\\n !*** ./packages/@apphub:logrocket-network/src/registerFetch.js ***!\n \\*****************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = registerFetch;\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\"));\n\nvar _mapValues = _interopRequireDefault(__webpack_require__(/*! @apphub/logrocket-utils/src/mapValues */ \"./packages/@apphub:logrocket-utils/src/mapValues.js\"));\n\nvar _fetchIntercept = _interopRequireDefault(__webpack_require__(/*! ./fetchIntercept */ \"./packages/@apphub:logrocket-network/src/fetchIntercept.js\"));\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction makeObjectFromHeaders(headers) {\n // If using real fetch, we must stringify the Headers object.\n if (headers == null || typeof headers.forEach !== 'function') {\n return headers;\n }\n\n var result = {};\n headers.forEach(function (value, key) {\n if (result[key]) {\n result[key] = \"\".concat(result[key], \",\").concat(value);\n } else {\n result[key] = \"\".concat(value);\n }\n });\n return result;\n} // XHR specification is unclear of what types to allow in value so using toString method for now\n\n\nvar stringifyHeaders = function stringifyHeaders(headers) {\n return (0, _mapValues.default)(makeObjectFromHeaders(headers), function (value) {\n return \"\".concat(value);\n });\n};\n\nfunction pluckFetchFields() {\n var arg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return {\n url: arg.url,\n headers: stringifyHeaders(arg.headers),\n method: arg.method && arg.method.toUpperCase(),\n referrer: arg.referrer || undefined,\n mode: arg.mode || undefined,\n credentials: arg.credentials || undefined\n };\n}\n\nfunction registerFetch(_ref) {\n var addRequest = _ref.addRequest,\n addResponse = _ref.addResponse,\n isIgnored = _ref.isIgnored;\n var LOGROCKET_FETCH_LABEL = 'fetch-';\n var fetchMethodMap = {};\n\n var unregister = _fetchIntercept.default.register({\n request: function request(fetchId) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var p;\n\n if (typeof Request !== 'undefined' && args[0] instanceof Request) {\n var clonedText; // Request.clone() and Request.text() may throw in Safari (e.g., when\n // request body contains FormData)\n\n try {\n clonedText = args[0].clone().text();\n } catch (err) {\n clonedText = Promise.resolve(\"LogRocket fetch error: \".concat(err.message));\n }\n\n p = clonedText.then(function (body) {\n return _objectSpread(_objectSpread({}, pluckFetchFields(args[0])), {}, {\n body: body\n });\n }, function (err) {\n return _objectSpread(_objectSpread({}, pluckFetchFields(args[0])), {}, {\n body: \"LogRocket fetch error: \".concat(err.message)\n });\n });\n } else {\n p = Promise.resolve(_objectSpread(_objectSpread({}, pluckFetchFields(args[1])), {}, {\n url: \"\".concat(args[0]),\n body: (args[1] || {}).body\n }));\n }\n\n return p.then(function (req) {\n fetchMethodMap[fetchId] = req.method;\n addRequest(\"\".concat(LOGROCKET_FETCH_LABEL).concat(fetchId), req);\n return args;\n });\n },\n requestError: function requestError(fetchId, error) {\n return Promise.reject(error);\n },\n response: function response(fetchId, _response) {\n var clonedText;\n\n if (isIgnored(\"\".concat(LOGROCKET_FETCH_LABEL).concat(fetchId))) {\n // Don't even try to read ignored requests\n return _response;\n }\n\n try {\n // TODO: enhance function on original response and future clones for:\n // text(), json(), blob(), formdata(), arraybuffer()\n clonedText = _response.clone().text();\n } catch (err) {\n // safari has a bug where cloning can fail\n clonedText = Promise.resolve(\"LogRocket fetch error: \".concat(err.message));\n }\n\n return clonedText.then(function (data) {\n var responseHash = {\n url: _response.url,\n status: _response.status,\n headers: stringifyHeaders(_response.headers),\n body: data,\n method: fetchMethodMap[fetchId]\n };\n delete fetchMethodMap[fetchId];\n addResponse(\"\".concat(LOGROCKET_FETCH_LABEL).concat(fetchId), responseHash);\n return _response;\n });\n },\n responseError: function responseError(fetchId, error) {\n var response = {\n url: undefined,\n status: 0,\n headers: {},\n body: \"\".concat(error)\n };\n addResponse(\"\".concat(LOGROCKET_FETCH_LABEL).concat(fetchId), response);\n return Promise.reject(error);\n }\n });\n\n return unregister;\n}\n\nmodule.exports = exports.default;\n\n/***/ }),\n\n/***/ \"./packages/@apphub:logrocket-network/src/registerNetworkInformation.js\":\n/*!******************************************************************************!*\\\n !*** ./packages/@apphub:logrocket-network/src/registerNetworkInformation.js ***!\n \\******************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = registerNetworkInformation;\nvar EFFECTIVE_TYPE_VALS = {\n 'slow-2g': 'SLOW2G',\n '2g': 'TWOG',\n '3g': 'THREEG',\n '4g': 'FOURG'\n};\n\nfunction registerNetworkInformation(logger) {\n var lastStatus = undefined;\n\n function sendNetworkInformation() {\n var newStatus = {\n online: window.navigator.onLine,\n effectiveType: 'UNKOWN'\n };\n\n if (!window.navigator.onLine) {\n newStatus.effectiveType = 'NONE';\n } else if (window.navigator.connection && window.navigator.connection.effectiveType) {\n newStatus.effectiveType = EFFECTIVE_TYPE_VALS[window.navigator.connection.effectiveType] || 'UNKNOWN';\n }\n\n if (lastStatus && newStatus.online === lastStatus.online && newStatus.effectiveType === lastStatus.effectiveType) {\n return;\n }\n\n lastStatus = newStatus;\n logger.addEvent('lr.network.NetworkStatusEvent', function () {\n return newStatus;\n });\n }\n\n setTimeout(sendNetworkInformation);\n\n if (window.navigator.connection && typeof window.navigator.connection.addEventListener === 'function') {\n window.navigator.connection.addEventListener('change', sendNetworkInformation);\n }\n\n window.addEventListener('online', sendNetworkInformation);\n window.addEventListener('offline', sendNetworkInformation);\n return function () {\n window.removeEventListener('offline', sendNetworkInformation);\n window.removeEventListener('online', sendNetworkInformation);\n\n if (window.navigator.connection && typeof window.navigator.connection.removeEventListener === 'function') {\n window.navigator.connection.removeEventListener('change', sendNetworkInformation);\n }\n };\n}\n\nmodule.exports = exports.default;\n\n/***/ }),\n\n/***/ \"./packages/@apphub:logrocket-network/src/registerXHR.js\":\n/*!***************************************************************!*\\\n !*** ./packages/@apphub:logrocket-network/src/registerXHR.js ***!\n \\***************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.setActive = setActive;\nexports.default = registerXHR;\n\nvar _mapValues = _interopRequireDefault(__webpack_require__(/*! @apphub/logrocket-utils/src/mapValues */ \"./packages/@apphub:logrocket-utils/src/mapValues.js\"));\n\nvar _enhanceFunc = _interopRequireDefault(__webpack_require__(/*! @apphub/logrocket-utils/src/enhanceFunc */ \"./packages/@apphub:logrocket-utils/src/enhanceFunc.js\"));\n\nvar _startsWith = _interopRequireDefault(__webpack_require__(/*! @apphub/logrocket-utils/src/startsWith */ \"./packages/@apphub:logrocket-utils/src/startsWith.js\"));\n\nvar _nps = __webpack_require__(/*! @apphub/logrocket-utils/src/constants/nps */ \"./packages/@apphub:logrocket-utils/src/constants/nps.js\");\n\nvar isActive = true;\n\nfunction setActive(shouldBeActive) {\n isActive = shouldBeActive;\n}\n\nvar currentXHRId = 0;\n\nfunction registerXHR(_ref) {\n var addRequest = _ref.addRequest,\n addResponse = _ref.addResponse,\n isIgnored = _ref.isIgnored,\n logger = _ref.logger,\n _ref$shouldAugmentNPS = _ref.shouldAugmentNPS,\n shouldAugmentNPS = _ref$shouldAugmentNPS === void 0 ? true : _ref$shouldAugmentNPS;\n var _XHR = XMLHttpRequest;\n var xhrMap = new WeakMap();\n var unsubscribedFromXhr = false;\n var LOGROCKET_XHR_LABEL = 'xhr-';\n window._lrXMLHttpRequest = XMLHttpRequest; // eslint-disable-next-line no-native-reassign\n\n XMLHttpRequest = function XMLHttpRequest(mozAnon, mozSystem) {\n var xhrObject = new _XHR(mozAnon, mozSystem);\n\n if (!isActive) {\n return xhrObject;\n }\n\n xhrMap.set(xhrObject, {\n xhrId: ++currentXHRId,\n headers: {}\n });\n var openOriginal = xhrObject.open;\n\n function openShim() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n try {\n var url = args[1];\n\n if (window.URL && typeof window.URL === 'function' && url.search(_nps.WOOTRIC_RESPONSES_REGEX) === 0) {\n var logrocketSessionURL = new window.URL(logger.recordingURL);\n logrocketSessionURL.searchParams.set('nps', 'wootric');\n var urlObj = new window.URL(url);\n var responseText = urlObj.searchParams.get('response[text]');\n var feedback = responseText ? \"\".concat(responseText, \"\\n\\n\") : '';\n urlObj.searchParams.set('response[text]', \"\".concat(feedback, \"<\").concat(logrocketSessionURL.href, \"|View LogRocket session>\"));\n args[1] = urlObj.href; // eslint-disable-line no-param-reassign\n }\n } catch (e) {\n /* do nothing */\n }\n\n return openOriginal.apply(this, args);\n }\n\n var sendOriginal = xhrObject.send;\n\n function sendShim() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n try {\n var currentXHR = xhrMap.get(xhrObject);\n\n if (window.URL && typeof window.URL === 'function' && currentXHR && currentXHR.url && currentXHR.url.search(_nps.DELIGHTED_RESPONSES_REGEX) === 0 && args.length && args[0].indexOf(_nps.DELIGHTED_FEEDBACK_PREFIX) !== -1) {\n var recordingURL = new window.URL(logger.recordingURL);\n recordingURL.searchParams.set('nps', 'delighted');\n var logrocketSessionURL = encodeURIComponent(recordingURL.href);\n var data = args[0].split('&').map(function (dataString) {\n if ((0, _startsWith.default)(dataString, _nps.DELIGHTED_FEEDBACK_PREFIX)) {\n var isEmpty = dataString === _nps.DELIGHTED_FEEDBACK_PREFIX;\n return \"\".concat(dataString).concat(isEmpty ? '' : '\\n\\n', \"<\").concat(logrocketSessionURL, \"|View LogRocket session>\");\n }\n\n return dataString;\n }).join('&');\n args[0] = data; // eslint-disable-line no-param-reassign\n }\n } catch (e) {\n /* do nothing */\n }\n\n return sendOriginal.apply(this, args);\n }\n\n if (shouldAugmentNPS) {\n xhrObject.open = openShim;\n xhrObject.send = sendShim;\n } // ..., 'open', (method, url, async, username, password) => {\n\n\n (0, _enhanceFunc.default)(xhrObject, 'open', function (method, url) {\n if (unsubscribedFromXhr) {\n return;\n }\n\n var currentXHR = xhrMap.get(xhrObject);\n currentXHR.method = method;\n currentXHR.url = url;\n });\n (0, _enhanceFunc.default)(xhrObject, 'send', function (data) {\n if (unsubscribedFromXhr) {\n return;\n }\n\n var currentXHR = xhrMap.get(xhrObject);\n\n if (!currentXHR) {\n return;\n }\n\n var request = {\n url: currentXHR.url,\n method: currentXHR.method && currentXHR.method.toUpperCase(),\n headers: (0, _mapValues.default)(currentXHR.headers || {}, function (headerValues) {\n return headerValues.join(', ');\n }),\n body: data\n };\n addRequest(\"\".concat(LOGROCKET_XHR_LABEL).concat(currentXHR.xhrId), request);\n });\n (0, _enhanceFunc.default)(xhrObject, 'setRequestHeader', function (header, value) {\n if (unsubscribedFromXhr) {\n return;\n }\n\n var currentXHR = xhrMap.get(xhrObject);\n\n if (!currentXHR) {\n return;\n }\n\n currentXHR.headers = currentXHR.headers || {};\n currentXHR.headers[header] = currentXHR.headers[header] || [];\n currentXHR.headers[header].push(value);\n });\n var xhrListeners = {\n readystatechange: function readystatechange() {\n if (unsubscribedFromXhr) {\n return;\n }\n\n if (xhrObject.readyState === 4) {\n var currentXHR = xhrMap.get(xhrObject);\n\n if (!currentXHR) {\n return;\n } // Do not read ignored requests at all.\n\n\n if (isIgnored(\"\".concat(LOGROCKET_XHR_LABEL).concat(currentXHR.xhrId))) {\n return;\n }\n\n var headerString = xhrObject.getAllResponseHeaders();\n var headers = headerString.split(/[\\r\\n]+/).reduce(function (previous, current) {\n var next = previous;\n var headerParts = current.split(': ');\n\n if (headerParts.length > 0) {\n var key = headerParts.shift(); // first index of the array\n\n var value = headerParts.join(': '); // rest of the array repaired\n\n if (previous[key]) {\n next[key] += \", \".concat(value);\n } else {\n next[key] = value;\n }\n }\n\n return next;\n }, {});\n var body; // IE 11 sometimes throws when trying to access large responses\n\n try {\n switch (xhrObject.responseType) {\n case 'json':\n body = logger._shouldCloneResponse ? JSON.parse(JSON.stringify(xhrObject.response)) : xhrObject.response;\n break;\n\n case 'arraybuffer':\n case 'blob':\n {\n body = xhrObject.response;\n break;\n }\n\n case 'document':\n {\n body = xhrObject.responseXML;\n break;\n }\n\n case 'text':\n case '':\n {\n body = xhrObject.responseText;\n break;\n }\n\n default:\n {\n body = '';\n }\n }\n } catch (err) {\n body = 'LogRocket: Error accessing response.';\n }\n\n var response = {\n url: currentXHR.url,\n status: xhrObject.status,\n headers: headers,\n body: body,\n method: (currentXHR.method || '').toUpperCase()\n };\n addResponse(\"\".concat(LOGROCKET_XHR_LABEL).concat(currentXHR.xhrId), response);\n }\n } // // Unused Event Listeners\n // loadstart: () => {},\n // progress: () => {},\n // abort: () => {},\n // error: () => {},\n // load: () => {},\n // timeout: () => {},\n // loadend: () => {},\n\n };\n Object.keys(xhrListeners).forEach(function (key) {\n xhrObject.addEventListener(key, xhrListeners[key]);\n });\n return xhrObject;\n }; // this allows \"instanceof XMLHttpRequest\" to work\n\n\n XMLHttpRequest.prototype = _XHR.prototype; // Persist the static variables.\n\n ['UNSENT', 'OPENED', 'HEADERS_RECEIVED', 'LOADING', 'DONE'].forEach(function (variable) {\n XMLHttpRequest[variable] = _XHR[variable];\n });\n return function () {\n unsubscribedFromXhr = true; // eslint-disable-next-line no-native-reassign\n\n XMLHttpRequest = _XHR;\n };\n}\n\n/***/ }),\n\n/***/ \"./packages/@apphub:logrocket-redux/src/createEnhancer.js\":\n/*!****************************************************************!*\\\n !*** ./packages/@apphub:logrocket-redux/src/createEnhancer.js ***!\n \\****************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createEnhancer;\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\"));\n\nvar _now = _interopRequireDefault(__webpack_require__(/*! @apphub/now */ \"./packages/@apphub:now/src/index.js\"));\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar storeIdCounter = 0;\n\nfunction createEnhancer(logger) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$stateSanitizer = _ref.stateSanitizer,\n stateSanitizer = _ref$stateSanitizer === void 0 ? function (f) {\n return f;\n } : _ref$stateSanitizer,\n _ref$actionSanitizer = _ref.actionSanitizer,\n actionSanitizer = _ref$actionSanitizer === void 0 ? function (f) {\n return f;\n } : _ref$actionSanitizer;\n\n // an enhancer is a function that returns a Store\n return function (createStore) {\n return function (reducer, initialState, enhancer) {\n var store = createStore(reducer, initialState, enhancer);\n var originalDispatch = store.dispatch;\n var storeId = storeIdCounter++;\n logger.addEvent('lr.redux.InitialState', function () {\n var sanitizedState;\n\n try {\n // only try catch user defined functions\n sanitizedState = stateSanitizer(store.getState());\n } catch (err) {\n console.error(err.toString());\n }\n\n return {\n state: sanitizedState,\n storeId: storeId\n };\n });\n\n var dispatch = function dispatch(action) {\n var start = (0, _now.default)();\n var err;\n var res;\n\n try {\n res = originalDispatch(action);\n } catch (_err) {\n err = _err;\n } finally {\n var duration = (0, _now.default)() - start;\n logger.addEvent('lr.redux.ReduxAction', function () {\n var sanitizedState = null;\n var sanitizedAction = null;\n\n try {\n // only try catch user defined functions\n sanitizedState = stateSanitizer(store.getState());\n sanitizedAction = actionSanitizer(action);\n } catch (err) {\n console.error(err.toString());\n }\n\n if (sanitizedState && sanitizedAction) {\n return {\n storeId: storeId,\n action: sanitizedAction,\n duration: duration,\n stateDelta: sanitizedState\n };\n }\n\n return null;\n });\n }\n\n if (err) {\n throw err;\n }\n\n return res;\n };\n\n return _objectSpread(_objectSpread({}, store), {}, {\n dispatch: dispatch\n });\n };\n };\n}\n\nmodule.exports = exports.default;\n\n/***/ }),\n\n/***/ \"./packages/@apphub:logrocket-redux/src/createMiddleware.js\":\n/*!******************************************************************!*\\\n !*** ./packages/@apphub:logrocket-redux/src/createMiddleware.js ***!\n \\******************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createMiddleware;\n\nvar _now = _interopRequireDefault(__webpack_require__(/*! @apphub/now */ \"./packages/@apphub:now/src/index.js\"));\n\nvar storeIdCounter = 0;\n\nfunction createMiddleware(logger) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$stateSanitizer = _ref.stateSanitizer,\n stateSanitizer = _ref$stateSanitizer === void 0 ? function (f) {\n return f;\n } : _ref$stateSanitizer,\n _ref$actionSanitizer = _ref.actionSanitizer,\n actionSanitizer = _ref$actionSanitizer === void 0 ? function (f) {\n return f;\n } : _ref$actionSanitizer;\n\n return function (store) {\n var storeId = storeIdCounter++;\n logger.addEvent('lr.redux.InitialState', function () {\n var sanitizedState;\n\n try {\n // only try catch user defined functions\n sanitizedState = stateSanitizer(store.getState());\n } catch (err) {\n console.error(err.toString());\n }\n\n return {\n state: sanitizedState,\n storeId: storeId\n };\n });\n return function (next) {\n return function (action) {\n var start = (0, _now.default)();\n var err;\n var res;\n\n try {\n res = next(action);\n } catch (_err) {\n err = _err;\n } finally {\n var duration = (0, _now.default)() - start;\n logger.addEvent('lr.redux.ReduxAction', function () {\n var sanitizedState = null;\n var sanitizedAction = null;\n\n try {\n // only try catch user defined functions\n sanitizedState = stateSanitizer(store.getState());\n sanitizedAction = actionSanitizer(action);\n } catch (err) {\n console.error(err.toString());\n }\n\n if (sanitizedState && sanitizedAction) {\n return {\n storeId: storeId,\n action: sanitizedAction,\n duration: duration,\n stateDelta: sanitizedState\n };\n }\n\n return null;\n });\n }\n\n if (err) {\n throw err;\n }\n\n return res;\n };\n };\n };\n}\n\nmodule.exports = exports.default;\n\n/***/ }),\n\n/***/ \"./packages/@apphub:logrocket-redux/src/index.js\":\n/*!*******************************************************!*\\\n !*** ./packages/@apphub:logrocket-redux/src/index.js ***!\n \\*******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"createEnhancer\", {\n enumerable: true,\n get: function get() {\n return _createEnhancer.default;\n }\n});\nObject.defineProperty(exports, \"createMiddleware\", {\n enumerable: true,\n get: function get() {\n return _createMiddleware.default;\n }\n});\n\nvar _createEnhancer = _interopRequireDefault(__webpack_require__(/*! ./createEnhancer */ \"./packages/@apphub:logrocket-redux/src/createEnhancer.js\"));\n\nvar _createMiddleware = _interopRequireDefault(__webpack_require__(/*! ./createMiddleware */ \"./packages/@apphub:logrocket-redux/src/createMiddleware.js\"));\n\n/***/ }),\n\n/***/ \"./packages/@apphub:logrocket-utils/src/TraceKit.js\":\n/*!**********************************************************!*\\\n !*** ./packages/@apphub:logrocket-utils/src/TraceKit.js ***!\n \\**********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n/* WEBPACK VAR INJECTION */(function(global) {/* eslint-disable */\n\n/*\n TraceKit - Cross brower stack traces - github.com/occ/TraceKit\n\n This was originally forked from github.com/occ/TraceKit, but has since been\n largely re-written and is now maintained as part of raven-js. Tests for\n this are in test/vendor.\n\n MIT license\n*/\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar TraceKit = {\n collectWindowErrors: true,\n debug: false\n}; // This is to be defensive in environments where window does not exist (see https://github.com/getsentry/raven-js/pull/785)\n\nvar _window = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; // global reference to slice\n\n\nvar _slice = [].slice;\nvar UNKNOWN_FUNCTION = '?'; // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Error_types\n\nvar ERROR_TYPES_RE = /^(?:Uncaught (?:exception: )?)?((?:Eval|Internal|Range|Reference|Syntax|Type|URI)Error): ?(.*)$/;\n\nfunction getLocationHref() {\n if (typeof document === 'undefined' || typeof document.location === 'undefined') return '';\n return document.location.href;\n}\n/**\n * TraceKit.report: cross-browser processing of unhandled exceptions\n *\n * Syntax:\n * TraceKit.report.subscribe(function(stackInfo) { ... })\n * TraceKit.report.unsubscribe(function(stackInfo) { ... })\n * TraceKit.report(exception)\n * try { ...code... } catch(ex) { TraceKit.report(ex); }\n *\n * Supports:\n * - Firefox: full stack trace with line numbers, plus column number\n * on top frame; column number is not guaranteed\n * - Opera: full stack trace with line and column numbers\n * - Chrome: full stack trace with line and column numbers\n * - Safari: line and column number for the top frame only; some frames\n * may be missing, and column number is not guaranteed\n * - IE: line and column number for the top frame only; some frames\n * may be missing, and column number is not guaranteed\n *\n * In theory, TraceKit should work on all of the following versions:\n * - IE5.5+ (only 8.0 tested)\n * - Firefox 0.9+ (only 3.5+ tested)\n * - Opera 7+ (only 10.50 tested; versions 9 and earlier may require\n * Exceptions Have Stacktrace to be enabled in opera:config)\n * - Safari 3+ (only 4+ tested)\n * - Chrome 1+ (only 5+ tested)\n * - Konqueror 3.5+ (untested)\n *\n * Requires TraceKit.computeStackTrace.\n *\n * Tries to catch all unhandled exceptions and report them to the\n * subscribed handlers. Please note that TraceKit.report will rethrow the\n * exception. This is REQUIRED in order to get a useful stack trace in IE.\n * If the exception does not reach the top of the browser, you will only\n * get a stack trace from the point where TraceKit.report was called.\n *\n * Handlers receive a stackInfo object as described in the\n * TraceKit.computeStackTrace docs.\n */\n\n\nTraceKit.report = function reportModuleWrapper() {\n var handlers = [],\n lastArgs = null,\n lastException = null,\n lastExceptionStack = null;\n /**\n * Add a crash handler.\n * @param {Function} handler\n */\n\n function subscribe(handler) {\n installGlobalHandler();\n handlers.push(handler);\n }\n /**\n * Remove a crash handler.\n * @param {Function} handler\n */\n\n\n function unsubscribe(handler) {\n for (var i = handlers.length - 1; i >= 0; --i) {\n if (handlers[i] === handler) {\n handlers.splice(i, 1);\n }\n }\n }\n /**\n * Remove all crash handlers.\n */\n\n\n function unsubscribeAll() {\n uninstallGlobalHandler();\n handlers = [];\n }\n /**\n * Dispatch stack information to all handlers.\n * @param {Object.} stack\n */\n\n\n function notifyHandlers(stack, isWindowError) {\n var exception = null;\n\n if (isWindowError && !TraceKit.collectWindowErrors) {\n return;\n }\n\n for (var i in handlers) {\n if (handlers.hasOwnProperty(i)) {\n try {\n handlers[i].apply(null, [stack].concat(_slice.call(arguments, 2)));\n } catch (inner) {\n exception = inner;\n }\n }\n }\n\n if (exception) {\n throw exception;\n }\n }\n\n var _oldOnerrorHandler, _onErrorHandlerInstalled;\n /**\n * Ensures all global unhandled exceptions are recorded.\n * Supported by Gecko and IE.\n * @param {string} message Error message.\n * @param {string} url URL of script that generated the exception.\n * @param {(number|string)} lineNo The line number at which the error\n * occurred.\n * @param {?(number|string)} colNo The column number at which the error\n * occurred.\n * @param {?Error} ex The actual Error object.\n */\n\n\n function traceKitWindowOnError(message, url, lineNo, colNo, ex) {\n var stack = null;\n\n if (lastExceptionStack) {\n TraceKit.computeStackTrace.augmentStackTraceWithInitialElement(lastExceptionStack, url, lineNo, message);\n processLastException();\n } else if (ex) {\n // New chrome and blink send along a real error object\n // Let's just report that like a normal error.\n // See: https://mikewest.org/2013/08/debugging-runtime-errors-with-window-onerror\n stack = TraceKit.computeStackTrace(ex);\n notifyHandlers(stack, true);\n } else {\n var location = {\n 'url': url,\n 'line': lineNo,\n 'column': colNo\n };\n var name = undefined;\n var msg = message; // must be new var or will modify original `arguments`\n\n var groups;\n\n if ({}.toString.call(message) === '[object String]') {\n var groups = message.match(ERROR_TYPES_RE);\n\n if (groups) {\n name = groups[1];\n msg = groups[2];\n }\n }\n\n location.func = UNKNOWN_FUNCTION;\n stack = {\n 'name': name,\n 'message': msg,\n 'url': getLocationHref(),\n 'stack': [location]\n };\n notifyHandlers(stack, true);\n }\n\n if (_oldOnerrorHandler) {\n return _oldOnerrorHandler.apply(this, arguments);\n }\n\n return false;\n }\n\n function installGlobalHandler() {\n if (_onErrorHandlerInstalled) {\n return;\n }\n\n _oldOnerrorHandler = _window.onerror;\n _window.onerror = traceKitWindowOnError;\n _onErrorHandlerInstalled = true;\n }\n\n function uninstallGlobalHandler() {\n if (!_onErrorHandlerInstalled) {\n return;\n }\n\n _window.onerror = _oldOnerrorHandler;\n _onErrorHandlerInstalled = false;\n _oldOnerrorHandler = undefined;\n }\n\n function processLastException() {\n var _lastExceptionStack = lastExceptionStack,\n _lastArgs = lastArgs;\n lastArgs = null;\n lastExceptionStack = null;\n lastException = null;\n notifyHandlers.apply(null, [_lastExceptionStack, false].concat(_lastArgs));\n }\n /**\n * Reports an unhandled Error to TraceKit.\n * @param {Error} ex\n * @param {?boolean} rethrow If false, do not re-throw the exception.\n * Only used for window.onerror to not cause an infinite loop of\n * rethrowing.\n */\n\n\n function report(ex, rethrow) {\n var args = _slice.call(arguments, 1);\n\n if (lastExceptionStack) {\n if (lastException === ex) {\n return; // already caught by an inner catch block, ignore\n } else {\n processLastException();\n }\n }\n\n var stack = TraceKit.computeStackTrace(ex);\n lastExceptionStack = stack;\n lastException = ex;\n lastArgs = args; // If the stack trace is incomplete, wait for 2 seconds for\n // slow slow IE to see if onerror occurs or not before reporting\n // this exception; otherwise, we will end up with an incomplete\n // stack trace\n\n setTimeout(function () {\n if (lastException === ex) {\n processLastException();\n }\n }, stack.incomplete ? 2000 : 0);\n\n if (rethrow !== false) {\n throw ex; // re-throw to propagate to the top level (and cause window.onerror)\n }\n }\n\n report.subscribe = subscribe;\n report.unsubscribe = unsubscribe;\n report.uninstall = unsubscribeAll;\n return report;\n}();\n/**\n * TraceKit.computeStackTrace: cross-browser stack traces in JavaScript\n *\n * Syntax:\n * s = TraceKit.computeStackTrace(exception) // consider using TraceKit.report instead (see below)\n * Returns:\n * s.name - exception name\n * s.message - exception message\n * s.stack[i].url - JavaScript or HTML file URL\n * s.stack[i].func - function name, or empty for anonymous functions (if guessing did not work)\n * s.stack[i].args - arguments passed to the function, if known\n * s.stack[i].line - line number, if known\n * s.stack[i].column - column number, if known\n *\n * Supports:\n * - Firefox: full stack trace with line numbers and unreliable column\n * number on top frame\n * - Opera 10: full stack trace with line and column numbers\n * - Opera 9-: full stack trace with line numbers\n * - Chrome: full stack trace with line and column numbers\n * - Safari: line and column number for the topmost stacktrace element\n * only\n * - IE: no line numbers whatsoever\n *\n * Tries to guess names of anonymous functions by looking for assignments\n * in the source code. In IE and Safari, we have to guess source file names\n * by searching for function bodies inside all page scripts. This will not\n * work for scripts that are loaded cross-domain.\n * Here be dragons: some function names may be guessed incorrectly, and\n * duplicate functions may be mismatched.\n *\n * TraceKit.computeStackTrace should only be used for tracing purposes.\n * Logging of unhandled exceptions should be done with TraceKit.report,\n * which builds on top of TraceKit.computeStackTrace and provides better\n * IE support by utilizing the window.onerror event to retrieve information\n * about the top of the stack.\n *\n * Note: In IE and Safari, no stack trace is recorded on the Error object,\n * so computeStackTrace instead walks its *own* chain of callers.\n * This means that:\n * * in Safari, some methods may be missing from the stack trace;\n * * in IE, the topmost function in the stack trace will always be the\n * caller of computeStackTrace.\n *\n * This is okay for tracing (because you are likely to be calling\n * computeStackTrace from the function you want to be the topmost element\n * of the stack trace anyway), but not okay for logging unhandled\n * exceptions (because your catch block will likely be far away from the\n * inner function that actually caused the exception).\n *\n */\n\n\nTraceKit.computeStackTrace = function computeStackTraceWrapper() {\n //\n // SAFARI:\n // ex.message = Can't find variable: qq\n // ex.line = 59\n // ex.sourceId = 580238192\n // ex.sourceURL = http://...\n // ex.expressionBeginOffset = 96\n // ex.expressionCaretOffset = 98\n // ex.expressionEndOffset = 98\n // ex.name = ReferenceError\n //\n // FIREFOX:\n // ex.message = qq is not defined\n // ex.fileName = http://...\n // ex.lineNumber = 59\n // ex.columnNumber = 69\n // ex.stack = ...stack trace... (see the example below)\n // ex.name = ReferenceError\n //\n // CHROME:\n // ex.message = qq is not defined\n // ex.name = ReferenceError\n // ex.type = not_defined\n // ex.arguments = ['aa']\n // ex.stack = ...stack trace...\n //\n // INTERNET EXPLORER:\n // ex.message = ...\n // ex.name = ReferenceError\n //\n // OPERA:\n // ex.message = ...message... (see the example below)\n // ex.name = ReferenceError\n // ex.opera#sourceloc = 11 (pretty much useless, duplicates the info in ex.message)\n // ex.stacktrace = n/a; see 'opera:config#UserPrefs|Exceptions Have Stacktrace'\n\n /**\n * Computes stack trace information from the stack property.\n * Chrome and Gecko use this property.\n * @param {Error} ex\n * @return {?Object.} Stack trace information.\n */\n\n\n function computeStackTraceFromStackProp(ex) {\n if (typeof ex.stack === 'undefined' || !ex.stack) return;\n var chrome = /^\\s*at (.*?) ?\\(((?:file|https?|blob|chrome-extension|native|eval|).*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i,\n gecko = /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)((?:file|https?|blob|chrome|resource|\\[native).*?)(?::(\\d+))?(?::(\\d+))?\\s*$/i,\n winjs = /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i,\n lines = ex.stack.split('\\n'),\n stack = [],\n parts,\n element,\n reference = /^(.*) is undefined$/.exec(ex.message);\n\n for (var i = 0, j = lines.length; i < j; ++i) {\n if (parts = chrome.exec(lines[i])) {\n var isNative = parts[2] && parts[2].indexOf('native') !== -1;\n element = {\n 'url': !isNative ? parts[2] : null,\n 'func': parts[1] || UNKNOWN_FUNCTION,\n 'args': isNative ? [parts[2]] : [],\n 'line': parts[3] ? +parts[3] : null,\n 'column': parts[4] ? +parts[4] : null\n };\n } else if (parts = winjs.exec(lines[i])) {\n element = {\n 'url': parts[2],\n 'func': parts[1] || UNKNOWN_FUNCTION,\n 'args': [],\n 'line': +parts[3],\n 'column': parts[4] ? +parts[4] : null\n };\n } else if (parts = gecko.exec(lines[i])) {\n element = {\n 'url': parts[3],\n 'func': parts[1] || UNKNOWN_FUNCTION,\n 'args': parts[2] ? parts[2].split(',') : [],\n 'line': parts[4] ? +parts[4] : null,\n 'column': parts[5] ? +parts[5] : null\n };\n } else {\n continue;\n }\n\n if (!element.func && element.line) {\n element.func = UNKNOWN_FUNCTION;\n }\n\n stack.push(element);\n }\n\n if (!stack.length) {\n return null;\n }\n\n if (!stack[0].column && typeof ex.columnNumber !== 'undefined') {\n // FireFox uses this awesome columnNumber property for its top frame\n // Also note, Firefox's column number is 0-based and everything else expects 1-based,\n // so adding 1\n stack[0].column = ex.columnNumber + 1;\n }\n\n return {\n 'name': ex.name,\n 'message': ex.message,\n 'url': getLocationHref(),\n 'stack': stack\n };\n }\n /**\n * Adds information about the first frame to incomplete stack traces.\n * Safari and IE require this to get complete data on the first frame.\n * @param {Object.} stackInfo Stack trace information from\n * one of the compute* methods.\n * @param {string} url The URL of the script that caused an error.\n * @param {(number|string)} lineNo The line number of the script that\n * caused an error.\n * @param {string=} message The error generated by the browser, which\n * hopefully contains the name of the object that caused the error.\n * @return {boolean} Whether or not the stack information was\n * augmented.\n */\n\n\n function augmentStackTraceWithInitialElement(stackInfo, url, lineNo, message) {\n var initial = {\n 'url': url,\n 'line': lineNo\n };\n\n if (initial.url && initial.line) {\n stackInfo.incomplete = false;\n\n if (!initial.func) {\n initial.func = UNKNOWN_FUNCTION;\n }\n\n if (stackInfo.stack.length > 0) {\n if (stackInfo.stack[0].url === initial.url) {\n if (stackInfo.stack[0].line === initial.line) {\n return false; // already in stack trace\n } else if (!stackInfo.stack[0].line && stackInfo.stack[0].func === initial.func) {\n stackInfo.stack[0].line = initial.line;\n return false;\n }\n }\n }\n\n stackInfo.stack.unshift(initial);\n stackInfo.partial = true;\n return true;\n } else {\n stackInfo.incomplete = true;\n }\n\n return false;\n }\n /**\n * Computes stack trace information by walking the arguments.caller\n * chain at the time the exception occurred. This will cause earlier\n * frames to be missed but is the only way to get any stack trace in\n * Safari and IE. The top frame is restored by\n * {@link augmentStackTraceWithInitialElement}.\n * @param {Error} ex\n * @return {?Object.} Stack trace information.\n */\n\n\n function computeStackTraceByWalkingCallerChain(ex, depth) {\n var functionName = /function\\s+([_$a-zA-Z\\xA0-\\uFFFF][_$a-zA-Z0-9\\xA0-\\uFFFF]*)?\\s*\\(/i,\n stack = [],\n funcs = {},\n recursion = false,\n parts,\n item;\n\n for (var curr = computeStackTraceByWalkingCallerChain.caller; curr && !recursion; curr = curr.caller) {\n if (curr === computeStackTrace || curr === TraceKit.report) {\n // console.log('skipping internal function');\n continue;\n }\n\n item = {\n 'url': null,\n 'func': UNKNOWN_FUNCTION,\n 'line': null,\n 'column': null\n };\n\n if (curr.name) {\n item.func = curr.name;\n } else if (parts = functionName.exec(curr.toString())) {\n item.func = parts[1];\n }\n\n if (typeof item.func === 'undefined') {\n try {\n item.func = parts.input.substring(0, parts.input.indexOf('{'));\n } catch (e) {}\n }\n\n if (funcs['' + curr]) {\n recursion = true;\n } else {\n funcs['' + curr] = true;\n }\n\n stack.push(item);\n }\n\n if (depth) {\n // console.log('depth is ' + depth);\n // console.log('stack is ' + stack.length);\n stack.splice(0, depth);\n }\n\n var result = {\n 'name': ex.name,\n 'message': ex.message,\n 'url': getLocationHref(),\n 'stack': stack\n };\n augmentStackTraceWithInitialElement(result, ex.sourceURL || ex.fileName, ex.line || ex.lineNumber, ex.message || ex.description);\n return result;\n }\n /**\n * Computes a stack trace for an exception.\n * @param {Error} ex\n * @param {(string|number)=} depth\n */\n\n\n function computeStackTrace(ex, depth) {\n var stack = null;\n depth = depth == null ? 0 : +depth;\n\n try {\n stack = computeStackTraceFromStackProp(ex);\n\n if (stack) {\n return stack;\n }\n } catch (e) {\n if (TraceKit.debug) {\n throw e;\n }\n }\n\n try {\n stack = computeStackTraceByWalkingCallerChain(ex, depth + 1);\n\n if (stack) {\n return stack;\n }\n } catch (e) {\n if (TraceKit.debug) {\n throw e;\n }\n }\n\n return {\n 'name': ex.name,\n 'message': ex.message,\n 'url': getLocationHref()\n };\n }\n\n computeStackTrace.augmentStackTraceWithInitialElement = augmentStackTraceWithInitialElement;\n computeStackTrace.computeStackTraceFromStackProp = computeStackTraceFromStackProp;\n return computeStackTrace;\n}();\n\nvar _default = TraceKit;\nexports.default = _default;\nmodule.exports = exports.default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../node_modules/webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")));\n\n/***/ }),\n\n/***/ \"./packages/@apphub:logrocket-utils/src/constants/nps.js\":\n/*!***************************************************************!*\\\n !*** ./packages/@apphub:logrocket-utils/src/constants/nps.js ***!\n \\***************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DELIGHTED_FEEDBACK_PREFIX = exports.DELIGHTED_RESPONSES_REGEX = exports.WOOTRIC_RESPONSES_REGEX = void 0;\nvar WOOTRIC_RESPONSES_REGEX = /^https:\\/\\/production.wootric.com\\/responses/;\nexports.WOOTRIC_RESPONSES_REGEX = WOOTRIC_RESPONSES_REGEX;\nvar DELIGHTED_RESPONSES_REGEX = /^https:\\/\\/web.delighted.com\\/e\\/[a-zA-Z-]*\\/c/;\nexports.DELIGHTED_RESPONSES_REGEX = DELIGHTED_RESPONSES_REGEX;\nvar DELIGHTED_FEEDBACK_PREFIX = 'comment=';\nexports.DELIGHTED_FEEDBACK_PREFIX = DELIGHTED_FEEDBACK_PREFIX;\n\n/***/ }),\n\n/***/ \"./packages/@apphub:logrocket-utils/src/enhanceFunc.js\":\n/*!*************************************************************!*\\\n !*** ./packages/@apphub:logrocket-utils/src/enhanceFunc.js ***!\n \\*************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = enhanceFunc;\n\n/* eslint no-param-reassign: [\"error\", { \"props\": false }] */\nfunction enhanceFunc(obj, method, handler) {\n var original = obj[method];\n\n function shim() {\n var res;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (original) {\n res = original.apply(this, args);\n }\n\n handler.apply(this, args);\n return res;\n }\n\n obj[method] = shim;\n return function () {\n obj[method] = original;\n };\n}\n\nmodule.exports = exports.default;\n\n/***/ }),\n\n/***/ \"./packages/@apphub:logrocket-utils/src/mapValues.js\":\n/*!***********************************************************!*\\\n !*** ./packages/@apphub:logrocket-utils/src/mapValues.js ***!\n \\***********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = mapValues;\n\nfunction mapValues(obj, f) {\n if (obj == null) {\n return {};\n }\n\n var res = {};\n Object.keys(obj).forEach(function (key) {\n res[key] = f(obj[key]);\n });\n return res;\n}\n\nmodule.exports = exports.default;\n\n/***/ }),\n\n/***/ \"./packages/@apphub:logrocket-utils/src/startsWith.js\":\n/*!************************************************************!*\\\n !*** ./packages/@apphub:logrocket-utils/src/startsWith.js ***!\n \\************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = startsWith;\n\nfunction startsWith(value, search) {\n var pos = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n return value && search && value.substring(pos, pos + search.length) === search;\n}\n\nmodule.exports = exports.default;\n\n/***/ }),\n\n/***/ \"./packages/@apphub:now/src/index.js\":\n/*!*******************************************!*\\\n !*** ./packages/@apphub:now/src/index.js ***!\n \\*******************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar dateNow = Date.now.bind(Date);\nvar loadTime = dateNow();\n\nvar _default = typeof performance !== 'undefined' && performance.now ? performance.now.bind(performance) : function () {\n return dateNow() - loadTime;\n};\n\nexports.default = _default;\nmodule.exports = exports.default;\n\n/***/ }),\n\n/***/ \"./packages/logrocket/src/LogRocket.js\":\n/*!*********************************************!*\\\n !*** ./packages/logrocket/src/LogRocket.js ***!\n \\*********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.MAX_QUEUE_SIZE = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\"));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\"));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/objectWithoutProperties.js\"));\n\nvar _logrocketNetwork = _interopRequireDefault(__webpack_require__(/*! @apphub/logrocket-network */ \"./packages/@apphub:logrocket-network/src/index.js\"));\n\nvar _logrocketExceptions = __webpack_require__(/*! @apphub/logrocket-exceptions */ \"./packages/@apphub:logrocket-exceptions/src/index.js\");\n\nvar _logrocketConsole = _interopRequireDefault(__webpack_require__(/*! @apphub/logrocket-console */ \"./packages/@apphub:logrocket-console/src/index.js\"));\n\nvar _logrocketRedux = __webpack_require__(/*! @apphub/logrocket-redux */ \"./packages/@apphub:logrocket-redux/src/index.js\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar MAX_QUEUE_SIZE = 1000;\nexports.MAX_QUEUE_SIZE = MAX_QUEUE_SIZE;\n\nvar considerIngestServerOption = function considerIngestServerOption() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n ingestServer = _ref.ingestServer,\n options = (0, _objectWithoutProperties2.default)(_ref, [\"ingestServer\"]);\n\n if (ingestServer) {\n return _objectSpread({\n serverURL: \"\".concat(ingestServer, \"/i\"),\n statsURL: \"\".concat(ingestServer, \"/s\")\n }, options);\n }\n\n return options;\n};\n\nvar LogRocket = /*#__PURE__*/function () {\n function LogRocket() {\n var _this = this;\n\n (0, _classCallCheck2.default)(this, LogRocket);\n this._buffer = [];\n // TODO: tests for these exposed methods.\n ['log', 'info', 'warn', 'error', 'debug'].forEach(function (method) {\n _this[method] = function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this.addEvent('lr.core.LogEvent', function () {\n var consoleOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (method === 'error' && consoleOptions.shouldAggregateConsoleErrors) {\n _logrocketExceptions.Capture.captureMessage(_this, args[0], {}, true);\n }\n\n return {\n logLevel: method.toUpperCase(),\n args: args\n };\n }, {\n shouldCaptureStackTrace: true\n });\n };\n });\n this._isInitialized = false;\n this._installed = [];\n }\n\n (0, _createClass2.default)(LogRocket, [{\n key: \"addEvent\",\n value: function addEvent(type, getMessage) {\n var opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var time = Date.now();\n\n this._run(function (logger) {\n logger.addEvent(type, getMessage, _objectSpread(_objectSpread({}, opts), {}, {\n timeOverride: time\n }));\n });\n }\n }, {\n key: \"onLogger\",\n value: function onLogger(logger) {\n this._logger = logger;\n\n while (this._buffer.length > 0) {\n var f = this._buffer.shift();\n\n f(this._logger);\n }\n }\n }, {\n key: \"_run\",\n value: function _run(f) {\n if (this._isDisabled) {\n return;\n }\n\n if (this._logger) {\n f(this._logger);\n } else {\n if (this._buffer.length >= MAX_QUEUE_SIZE) {\n this._isDisabled = true;\n console.warn('LogRocket: script did not load. Check that you have a valid network connection.');\n this.uninstall();\n return;\n }\n\n this._buffer.push(f.bind(this));\n }\n }\n }, {\n key: \"init\",\n value: function init(appID) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!this._isInitialized) {\n var _opts$shouldAugmentNP = opts.shouldAugmentNPS,\n shouldAugmentNPS = _opts$shouldAugmentNP === void 0 ? true : _opts$shouldAugmentNP;\n\n this._installed.push((0, _logrocketExceptions.registerExceptions)(this));\n\n this._installed.push((0, _logrocketNetwork.default)(this, {\n shouldAugmentNPS: !!shouldAugmentNPS\n }));\n\n this._installed.push((0, _logrocketConsole.default)(this));\n\n this._isInitialized = true;\n\n this._run(function (logger) {\n logger.init(appID, considerIngestServerOption(opts));\n });\n }\n }\n }, {\n key: \"start\",\n value: function start() {\n this._run(function (logger) {\n logger.start();\n });\n }\n }, {\n key: \"uninstall\",\n value: function uninstall() {\n this._installed.forEach(function (f) {\n return f();\n });\n\n this._buffer = [];\n\n this._run(function (logger) {\n logger.uninstall();\n });\n }\n }, {\n key: \"identify\",\n value: function identify(id, opts) {\n this._run(function (logger) {\n logger.identify(id, opts);\n });\n }\n }, {\n key: \"startNewSession\",\n value: function startNewSession() {\n this._run(function (logger) {\n logger.startNewSession();\n });\n }\n }, {\n key: \"track\",\n value: function track(customEventName, eventProperties) {\n this._run(function (logger) {\n logger.track(customEventName, eventProperties);\n });\n }\n }, {\n key: \"getSessionURL\",\n value: function getSessionURL(cb) {\n if (typeof cb !== 'function') {\n throw new Error('LogRocket: must pass callback to getSessionURL()');\n }\n\n this._run(function (logger) {\n if (logger.getSessionURL) {\n logger.getSessionURL(cb);\n } else {\n cb(logger.recordingURL);\n }\n });\n }\n }, {\n key: \"getVersion\",\n value: function getVersion(cb) {\n this._run(function (logger) {\n cb(logger.version);\n });\n }\n }, {\n key: \"captureMessage\",\n value: function captureMessage(message) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _logrocketExceptions.Capture.captureMessage(this, message, options);\n }\n }, {\n key: \"captureException\",\n value: function captureException(exception) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _logrocketExceptions.Capture.captureException(this, exception, options);\n }\n }, {\n key: \"version\",\n get: function get() {\n return this._logger && this._logger.version;\n }\n }, {\n key: \"sessionURL\",\n get: function get() {\n return this._logger && this._logger.recordingURL;\n }\n }, {\n key: \"recordingURL\",\n get: function get() {\n return this._logger && this._logger.recordingURL;\n }\n }, {\n key: \"recordingID\",\n get: function get() {\n return this._logger && this._logger.recordingID;\n }\n }, {\n key: \"threadID\",\n get: function get() {\n return this._logger && this._logger.threadID;\n }\n }, {\n key: \"tabID\",\n get: function get() {\n return this._logger && this._logger.tabID;\n }\n }, {\n key: \"reduxEnhancer\",\n value: function reduxEnhancer() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return (0, _logrocketRedux.createEnhancer)(this, options);\n }\n }, {\n key: \"reduxMiddleware\",\n value: function reduxMiddleware() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return (0, _logrocketRedux.createMiddleware)(this, options);\n }\n }, {\n key: \"isDisabled\",\n get: function get() {\n return !!(this._isDisabled || this._logger && this._logger._isDisabled);\n }\n }]);\n return LogRocket;\n}();\n\nexports.default = LogRocket;\n\n/***/ }),\n\n/***/ \"./packages/logrocket/src/makeLogRocket.js\":\n/*!*************************************************!*\\\n !*** ./packages/logrocket/src/makeLogRocket.js ***!\n \\*************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = makeLogRocket;\n\nvar _LogRocket = _interopRequireDefault(__webpack_require__(/*! ./LogRocket */ \"./packages/logrocket/src/LogRocket.js\"));\n\nvar REACT_NATIVE_NOTICE = 'LogRocket does not yet support React Native.';\n\nvar makeNoopPolyfill = function makeNoopPolyfill() {\n return {\n init: function init() {},\n uninstall: function uninstall() {},\n log: function log() {},\n info: function info() {},\n warn: function warn() {},\n error: function error() {},\n debug: function debug() {},\n addEvent: function addEvent() {},\n identify: function identify() {},\n start: function start() {},\n\n get threadID() {\n return null;\n },\n\n get recordingID() {\n return null;\n },\n\n get recordingURL() {\n return null;\n },\n\n reduxEnhancer: function reduxEnhancer() {\n return function (store) {\n return function () {\n return store.apply(void 0, arguments);\n };\n };\n },\n reduxMiddleware: function reduxMiddleware() {\n return function () {\n return function (next) {\n return function (action) {\n return next(action);\n };\n };\n };\n },\n track: function track() {},\n getSessionURL: function getSessionURL() {},\n getVersion: function getVersion() {},\n startNewSession: function startNewSession() {},\n onLogger: function onLogger() {},\n setClock: function setClock() {},\n captureMessage: function captureMessage() {},\n captureException: function captureException() {}\n };\n};\n\nfunction makeLogRocket() {\n var getLogger = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function () {};\n\n if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n throw new Error(REACT_NATIVE_NOTICE);\n }\n\n if (typeof window !== 'undefined') {\n if (window._disableLogRocket) {\n return makeNoopPolyfill();\n }\n\n if (window.MutationObserver && window.WeakMap) {\n // Save window globals that we rely on.\n window._lrMutationObserver = window.MutationObserver;\n var instance = new _LogRocket.default();\n getLogger(instance);\n return instance;\n }\n }\n\n return makeNoopPolyfill();\n}\n\nmodule.exports = exports.default;\n\n/***/ }),\n\n/***/ \"./packages/logrocket/src/module-npm.js\":\n/*!**********************************************!*\\\n !*** ./packages/logrocket/src/module-npm.js ***!\n \\**********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _setup = _interopRequireDefault(__webpack_require__(/*! ./setup */ \"./packages/logrocket/src/setup.js\"));\n\nvar instance = (0, _setup.default)();\nvar _default = instance;\nexports.default = _default;\nmodule.exports = exports.default;\n\n/***/ }),\n\n/***/ \"./packages/logrocket/src/setup.js\":\n/*!*****************************************!*\\\n !*** ./packages/logrocket/src/setup.js ***!\n \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = setup;\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ \"./node_modules/@babel/runtime/helpers/objectWithoutProperties.js\"));\n\nvar _makeLogRocket = _interopRequireDefault(__webpack_require__(/*! ./makeLogRocket */ \"./packages/logrocket/src/makeLogRocket.js\"));\n\nvar CDN_SERVER_MAP = {\n 'cdn.logrocket.io': 'https://r.logrocket.io',\n 'cdn.lr-ingest.io': 'https://r.lr-ingest.io',\n 'cdn-staging.logrocket.io': 'https://staging-i.logrocket.io',\n 'cdn-staging.lr-ingest.io': 'https://staging-i.lr-ingest.io'\n};\n\nfunction setup() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n enterpriseServer = _ref.enterpriseServer,\n _ref$sdkVersion = _ref.sdkVersion,\n sdkVersion = _ref$sdkVersion === void 0 ? \"1.3.0\" : _ref$sdkVersion,\n opts = (0, _objectWithoutProperties2.default)(_ref, [\"enterpriseServer\", \"sdkVersion\"]);\n\n var scriptOrigin = 'https://cdn.logrocket.io';\n var scriptIngest;\n\n if (sdkVersion === 'script') {\n try {\n var scriptTag = document.currentScript;\n var matches = scriptTag.src.match(/^(https?:\\/\\/([^\\\\]+))\\/.+$/);\n var scriptHostname = matches && matches[2];\n\n if (scriptHostname && CDN_SERVER_MAP[scriptHostname]) {\n scriptOrigin = matches && matches[1];\n scriptIngest = CDN_SERVER_MAP[scriptHostname];\n }\n } catch (_) {\n /* no-op */\n }\n } else {\n // NPM\n scriptOrigin = 'https://cdn.lr-ingest.io';\n scriptIngest = 'https://r.lr-ingest.io';\n }\n\n var sdkServer = opts.sdkServer || enterpriseServer;\n var ingestServer = opts.ingestServer || enterpriseServer || scriptIngest;\n var instance = (0, _makeLogRocket.default)(function () {\n var script = document.createElement('script');\n\n if (ingestServer) {\n if (typeof window.__SDKCONFIG__ === 'undefined') {\n window.__SDKCONFIG__ = {};\n }\n\n window.__SDKCONFIG__.serverURL = \"\".concat(ingestServer, \"/i\");\n window.__SDKCONFIG__.statsURL = \"\".concat(ingestServer, \"/s\");\n }\n\n if (sdkServer) {\n script.src = \"\".concat(sdkServer, \"/logger.min.js\");\n } else if (window.__SDKCONFIG__ && window.__SDKCONFIG__.loggerURL) {\n script.src = window.__SDKCONFIG__.loggerURL;\n } else if (window._lrAsyncScript) {\n script.src = window._lrAsyncScript;\n } else {\n script.src = \"\".concat(scriptOrigin, \"/logger-1.min.js\");\n }\n\n script.async = true;\n document.head.appendChild(script);\n\n script.onload = function () {\n // Brave browser: Advertises its user-agent as Chrome ##.##... then\n // loads logger.min.js, but blocks the execution of the script\n // causing _LRlogger to be undefined. Let's make sure its there first.\n if (typeof window._LRLogger === 'function') {\n instance.onLogger(new window._LRLogger({\n sdkVersion: sdkVersion\n }));\n } else {\n console.warn('LogRocket: script execution has been blocked by a product or service.');\n instance.uninstall();\n }\n };\n\n script.onerror = function () {\n console.warn('LogRocket: script could not load. Check that you have a valid network connection.');\n instance.uninstall();\n };\n });\n return instance;\n}\n\nmodule.exports = exports.default;\n\n/***/ }),\n\n/***/ 0:\n/*!****************************************************!*\\\n !*** multi ./packages/logrocket/src/module-npm.js ***!\n \\****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(/*! /root/project/packages/logrocket/src/module-npm.js */\"./packages/logrocket/src/module-npm.js\");\n\n\n/***/ })\n\n/******/ });\n});\n});\n\nvar LogRocket = unwrapExports(build_umd);\n\nvar APPS_ID = {\n 'report-builder': 'hoo2i2/reports-qwk97',\n 'dashboard': 'hoo2i2/dashboard',\n 'creatives': 'hoo2i2/creatives',\n 'campaigns': 'hoo2i2/campaigns',\n 'audiences': 'hoo2i2/audiences-0p09u',\n 'inventory': 'hoo2i2/inventory-sgeag',\n 'bid-model': 'hoo2i2/bid-model',\n 'customers': 'hoo2i2/customers',\n 'conversions': 'hoo2i2/events-cb0lz'\n};\nfunction enableLogRocket(app) {\n var id = APPS_ID[app];\n\n if (id) {\n LogRocket.init(id);\n }\n}\nfunction identifyLogRocket() {\n var user = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n LogRocket.identify(user.apiToken, {\n name: \"\".concat(user.displayName || user.organizationName),\n email: user.email\n });\n}\n\nfunction _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$1() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nvar LoginFormContainer = /*#__PURE__*/function (_React$Component) {\n _inherits(LoginFormContainer, _React$Component);\n\n var _super = _createSuper$1(LoginFormContainer);\n\n function LoginFormContainer() {\n var _this;\n\n _classCallCheck(this, LoginFormContainer);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _this.getFullSuccessRedirectPath = function () {\n var search = _this.props.location.search;\n\n if (!_this.props.successLoginRedirectPath) {\n return \"/\".concat(search);\n }\n\n return _this.props.transformSuccessRedirectPath ? _this.props.transformSuccessRedirectPath(_this.props.successLoginRedirectPath, search) : _this.props.successLoginRedirectPath + search;\n };\n\n _this.onSuccessLogin = function (userData) {\n var _userData$failureDeta;\n\n AuthService.updateUser(userData);\n\n if (((_userData$failureDeta = userData.failureDetails) === null || _userData$failureDeta === void 0 ? void 0 : _userData$failureDeta.status) === 'ON_HOLD') {\n window.location.href = \"/marketplace/u/\".concat(getPathNumber(), \"/#/on-hold\");\n return;\n }\n\n identifyLogRocket(userData);\n\n var successLoginRedirectPath = _this.getFullSuccessRedirectPath();\n\n _this.props.history.push(successLoginRedirectPath);\n };\n\n return _this;\n }\n\n _createClass(LoginFormContainer, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (!this.props.loginForm) {\n window.location.href = \"\".concat(window.location.origin, \"/#/login\");\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n if (this.props.loginForm) {\n var LoginFormComponent = this.props.loginForm;\n return /*#__PURE__*/React__default.createElement(LoginFormComponent, {\n onSuccess: this.onSuccessLogin,\n docTitle: this.props.documentTitle\n });\n }\n\n return /*#__PURE__*/React__default.createElement(\"div\", {\n className: \"d-flex align-items-center justify-content-center\",\n style: {\n height: '100vh'\n }\n }, /*#__PURE__*/React__default.createElement(ProgressCircle, {\n size: 200\n }));\n }\n }]);\n\n return LoginFormContainer;\n}(React__default.Component);\nLoginFormContainer.propTypes = {\n documentTitle: PropTypes.string,\n successLoginRedirectPath: PropTypes.string,\n transformSuccessRedirectPath: PropTypes.func,\n // onLogout: PropTypes.func,\n // match: PropTypes.object,\n history: PropTypes.object,\n location: PropTypes.object,\n loginForm: PropTypes.elementType\n};\n\nvar Timezones = /*#__PURE__*/_createClass(function Timezones() {\n var _this = this;\n\n _classCallCheck(this, Timezones);\n\n this.fetchingTimezones = null;\n\n this.clearState = function () {\n _this.state = null;\n _this.fetchingTimezones = null;\n };\n\n this.getState = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee() {\n var state;\n return regenerator.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!_this.state) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt(\"return\", _this.state);\n\n case 2:\n if (!_this.fetchingTimezones) {\n _context.next = 8;\n break;\n }\n\n _context.next = 5;\n return _this.fetchingTimezones;\n\n case 5:\n _this.state = _context.sent;\n _context.next = 18;\n break;\n\n case 8:\n _this.fetchingTimezones = ApiService.fetchTimezones();\n _context.prev = 9;\n _context.next = 12;\n return _this.fetchingTimezones;\n\n case 12:\n state = _context.sent;\n _this.state = state;\n _context.next = 18;\n break;\n\n case 16:\n _context.prev = 16;\n _context.t0 = _context[\"catch\"](9);\n\n case 18:\n return _context.abrupt(\"return\", _this.state);\n\n case 19:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[9, 16]]);\n }));\n});\n\nvar TimezonesService = new Timezones();\n\nfunction _createSuper$2(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$2(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$2() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nvar PrivateRoutesContainer = /*#__PURE__*/function (_React$Component) {\n _inherits(PrivateRoutesContainer, _React$Component);\n\n var _super = _createSuper$2(PrivateRoutesContainer);\n\n function PrivateRoutesContainer() {\n _classCallCheck(this, PrivateRoutesContainer);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(PrivateRoutesContainer, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _authorizedUser$failu,\n _this = this;\n\n var authorizedUser = AuthService.getUser();\n\n if (!authorizedUser) {\n window.location.href = '/#/login';\n return;\n } else if (((_authorizedUser$failu = authorizedUser.failureDetails) === null || _authorizedUser$failu === void 0 ? void 0 : _authorizedUser$failu.status) === 'SUSPENDED') {\n window.location.href = \"/marketplace/u/\".concat(getPathNumber(), \"/#/suspended\");\n }\n\n AuthService.logout = function () {\n TimezonesService.clearState();\n\n _this.props.onLogout();\n\n window.location.href = '/';\n };\n\n this.props.onSuccessLogin(authorizedUser, this.props.history);\n }\n }, {\n key: \"render\",\n value: function render() {\n return this.props.children;\n }\n }]);\n\n return PrivateRoutesContainer;\n}(React__default.Component);\n\nPrivateRoutesContainer.propTypes = {\n onSuccessLogin: PropTypes.func,\n onLogout: PropTypes.func,\n history: PropTypes.object\n};\nvar PrivateRoutesContainer$1 = withRouter(PrivateRoutesContainer);\n\nvar arrayLikeToArray = createCommonjsModule(function (module) {\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n});\n\nunwrapExports(arrayLikeToArray);\n\nvar arrayWithoutHoles = createCommonjsModule(function (module) {\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n});\n\nunwrapExports(arrayWithoutHoles);\n\nvar iterableToArray = createCommonjsModule(function (module) {\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n});\n\nunwrapExports(iterableToArray);\n\nvar unsupportedIterableToArray = createCommonjsModule(function (module) {\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n});\n\nunwrapExports(unsupportedIterableToArray);\n\nvar nonIterableSpread = createCommonjsModule(function (module) {\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n});\n\nunwrapExports(nonIterableSpread);\n\nvar toConsumableArray = createCommonjsModule(function (module) {\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n});\n\nvar _toConsumableArray = unwrapExports(toConsumableArray);\n\n/* eslint-disable no-console, local-rules/disallow-side-effects */\n/**\n * Keep references on console methods to avoid triggering patched behaviors\n *\n * NB: in some setup, console could already be patched by another SDK.\n * In this case, some display messages can be sent by the other SDK\n * but we should be safe from infinite loop nonetheless.\n */\nvar display = {\n log: console.log.bind(console),\n warn: console.warn.bind(console),\n error: console.error.bind(console),\n};\n\nvar UNKNOWN_FUNCTION = '?';\n/**\n * Computes a stack trace for an exception.\n */\nfunction computeStackTrace(ex) {\n var stack = [];\n var stackProperty = tryToGetString(ex, 'stack');\n if (stackProperty) {\n stackProperty.split('\\n').forEach(function (line) {\n var stackFrame = parseChromeLine(line) || parseWinLine(line) || parseGeckoLine(line);\n if (stackFrame) {\n if (!stackFrame.func && stackFrame.line) {\n stackFrame.func = UNKNOWN_FUNCTION;\n }\n stack.push(stackFrame);\n }\n });\n }\n return {\n message: tryToGetString(ex, 'message'),\n name: tryToGetString(ex, 'name'),\n stack: stack,\n };\n}\nvar CHROME_LINE_RE = \n// eslint-disable-next-line max-len\n/^\\s*at (.*?) ?\\(((?:file|https?|blob|chrome-extension|native|eval|webpack||\\/).*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i;\nvar CHROME_EVAL_RE = /\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/;\nfunction parseChromeLine(line) {\n var parts = CHROME_LINE_RE.exec(line);\n if (!parts) {\n return;\n }\n var isNative = parts[2] && parts[2].indexOf('native') === 0; // start of line\n var isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line\n var submatch = CHROME_EVAL_RE.exec(parts[2]);\n if (isEval && submatch) {\n // throw out eval line/column and use top-most line/column number\n parts[2] = submatch[1]; // url\n parts[3] = submatch[2]; // line\n parts[4] = submatch[3]; // column\n }\n return {\n args: isNative ? [parts[2]] : [],\n column: parts[4] ? +parts[4] : undefined,\n func: parts[1] || UNKNOWN_FUNCTION,\n line: parts[3] ? +parts[3] : undefined,\n url: !isNative ? parts[2] : undefined,\n };\n}\nvar WINJS_LINE_RE = /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\nfunction parseWinLine(line) {\n var parts = WINJS_LINE_RE.exec(line);\n if (!parts) {\n return;\n }\n return {\n args: [],\n column: parts[4] ? +parts[4] : undefined,\n func: parts[1] || UNKNOWN_FUNCTION,\n line: +parts[3],\n url: parts[2],\n };\n}\nvar GECKO_LINE_RE = \n// eslint-disable-next-line max-len\n/^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|capacitor|\\[native).*?|[^@]*bundle)(?::(\\d+))?(?::(\\d+))?\\s*$/i;\nvar GECKO_EVAL_RE = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\nfunction parseGeckoLine(line) {\n var parts = GECKO_LINE_RE.exec(line);\n if (!parts) {\n return;\n }\n var isEval = parts[3] && parts[3].indexOf(' > eval') > -1;\n var submatch = GECKO_EVAL_RE.exec(parts[3]);\n if (isEval && submatch) {\n // throw out eval line/column and use top-most line number\n parts[3] = submatch[1];\n parts[4] = submatch[2];\n parts[5] = undefined; // no column when eval\n }\n return {\n args: parts[2] ? parts[2].split(',') : [],\n column: parts[5] ? +parts[5] : undefined,\n func: parts[1] || UNKNOWN_FUNCTION,\n line: parts[4] ? +parts[4] : undefined,\n url: parts[3],\n };\n}\nfunction tryToGetString(candidate, property) {\n if (typeof candidate !== 'object' || !candidate || !(property in candidate)) {\n return undefined;\n }\n var value = candidate[property];\n return typeof value === 'string' ? value : undefined;\n}\n\nfunction instrumentMethod(object, method, instrumentationFactory) {\n var original = object[method];\n var instrumentation = instrumentationFactory(original);\n var instrumentationWrapper = function () {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return instrumentation.apply(this, arguments);\n };\n object[method] = instrumentationWrapper;\n return {\n stop: function () {\n if (object[method] === instrumentationWrapper) {\n object[method] = original;\n }\n else {\n instrumentation = original;\n }\n },\n };\n}\nfunction instrumentMethodAndCallOriginal(object, method, _a) {\n var before = _a.before, after = _a.after;\n return instrumentMethod(object, method, function (original) {\n return function () {\n var args = arguments;\n var result;\n if (before) {\n callMonitored(before, this, args);\n }\n if (typeof original === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n result = original.apply(this, args);\n }\n if (after) {\n callMonitored(after, this, args);\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return result;\n };\n });\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Error_types\nvar ERROR_TYPES_RE = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/;\n/**\n * Cross-browser collection of unhandled errors\n *\n * Supports:\n * - Firefox: full stack trace with line numbers, plus column number\n * on top frame; column number is not guaranteed\n * - Opera: full stack trace with line and column numbers\n * - Chrome: full stack trace with line and column numbers\n * - Safari: line and column number for the top frame only; some frames\n * may be missing, and column number is not guaranteed\n * - IE: line and column number for the top frame only; some frames\n * may be missing, and column number is not guaranteed\n *\n * In theory, TraceKit should work on all of the following versions:\n * - IE5.5+ (only 8.0 tested)\n * - Firefox 0.9+ (only 3.5+ tested)\n * - Opera 7+ (only 10.50 tested; versions 9 and earlier may require\n * Exceptions Have Stacktrace to be enabled in opera:config)\n * - Safari 3+ (only 4+ tested)\n * - Chrome 1+ (only 5+ tested)\n * - Konqueror 3.5+ (untested)\n *\n * Tries to catch all unhandled errors and report them to the\n * callback.\n *\n * Callbacks receive a StackTrace object as described in the\n * computeStackTrace docs.\n *\n * @memberof TraceKit\n * @namespace\n */\nfunction startUnhandledErrorCollection(callback) {\n var stopInstrumentingOnError = instrumentOnError(callback).stop;\n var stopInstrumentingOnUnhandledRejection = instrumentUnhandledRejection(callback).stop;\n return {\n stop: function () {\n stopInstrumentingOnError();\n stopInstrumentingOnUnhandledRejection();\n },\n };\n}\n/**\n * Install a global onerror handler\n */\nfunction instrumentOnError(callback) {\n return instrumentMethodAndCallOriginal(window, 'onerror', {\n before: function (message, url, lineNo, columnNo, errorObj) {\n var stack;\n if (errorObj) {\n stack = computeStackTrace(errorObj);\n callback(stack, errorObj);\n }\n else {\n var location_1 = {\n url: url,\n column: columnNo,\n line: lineNo,\n };\n var name_1;\n var msg = message;\n if ({}.toString.call(message) === '[object String]') {\n var groups = ERROR_TYPES_RE.exec(msg);\n if (groups) {\n name_1 = groups[1];\n msg = groups[2];\n }\n }\n stack = {\n name: name_1,\n message: typeof msg === 'string' ? msg : undefined,\n stack: [location_1],\n };\n callback(stack, message);\n }\n },\n });\n}\n/**\n * Install a global onunhandledrejection handler\n */\nfunction instrumentUnhandledRejection(callback) {\n return instrumentMethodAndCallOriginal(window, 'onunhandledrejection', {\n before: function (e) {\n var reason = e.reason || 'Empty reason';\n var stack = computeStackTrace(reason);\n callback(stack, reason);\n },\n });\n}\n\nvar ErrorSource = {\n AGENT: 'agent',\n CONSOLE: 'console',\n CUSTOM: 'custom',\n LOGGER: 'logger',\n NETWORK: 'network',\n SOURCE: 'source',\n REPORT: 'report',\n};\nfunction formatUnknownError(stackTrace, errorObject, nonErrorPrefix, handlingStack) {\n if (!stackTrace || (stackTrace.message === undefined && !(errorObject instanceof Error))) {\n return {\n message: \"\".concat(nonErrorPrefix, \" \").concat(jsonStringify(errorObject)),\n stack: 'No stack, consider using an instance of Error',\n handlingStack: handlingStack,\n type: stackTrace && stackTrace.name,\n };\n }\n return {\n message: stackTrace.message || 'Empty message',\n stack: toStackTraceString(stackTrace),\n handlingStack: handlingStack,\n type: stackTrace.name,\n };\n}\nfunction toStackTraceString(stack) {\n var result = formatErrorMessage(stack);\n stack.stack.forEach(function (frame) {\n var func = frame.func === '?' ? '' : frame.func;\n var args = frame.args && frame.args.length > 0 ? \"(\".concat(frame.args.join(', '), \")\") : '';\n var line = frame.line ? \":\".concat(frame.line) : '';\n var column = frame.line && frame.column ? \":\".concat(frame.column) : '';\n result += \"\\n at \".concat(func).concat(args, \" @ \").concat(frame.url).concat(line).concat(column);\n });\n return result;\n}\nfunction formatErrorMessage(stack) {\n return \"\".concat(stack.name || 'Error', \": \").concat(stack.message);\n}\n/**\n Creates a stacktrace without SDK internal frames.\n \n Constraints:\n - Has to be called at the utmost position of the call stack.\n - No internal monitoring should encapsulate the function, that is why we need to use callMonitored inside of it.\n */\nfunction createHandlingStack() {\n /**\n * Skip the two internal frames:\n * - SDK API (console.error, ...)\n * - this function\n * in order to keep only the user calls\n */\n var internalFramesToSkip = 2;\n var error = new Error();\n var formattedStack;\n // IE needs to throw the error to fill in the stack trace\n if (!error.stack) {\n try {\n throw error;\n }\n catch (e) {\n }\n }\n callMonitored(function () {\n var stackTrace = computeStackTrace(error);\n stackTrace.stack = stackTrace.stack.slice(internalFramesToSkip);\n formattedStack = toStackTraceString(stackTrace);\n });\n return formattedStack;\n}\n\nvar Observable = /** @class */ (function () {\n function Observable(onFirstSubscribe) {\n this.onFirstSubscribe = onFirstSubscribe;\n this.observers = [];\n }\n Observable.prototype.subscribe = function (f) {\n var _this = this;\n if (!this.observers.length && this.onFirstSubscribe) {\n this.onLastUnsubscribe = this.onFirstSubscribe() || undefined;\n }\n this.observers.push(f);\n return {\n unsubscribe: function () {\n _this.observers = _this.observers.filter(function (other) { return f !== other; });\n if (!_this.observers.length && _this.onLastUnsubscribe) {\n _this.onLastUnsubscribe();\n }\n },\n };\n };\n Observable.prototype.notify = function (data) {\n this.observers.forEach(function (observer) { return observer(data); });\n };\n return Observable;\n}());\nfunction mergeObservables() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n var globalObservable = new Observable(function () {\n var subscriptions = observables.map(function (observable) {\n return observable.subscribe(function (data) { return globalObservable.notify(data); });\n });\n return function () { return subscriptions.forEach(function (subscription) { return subscription.unsubscribe(); }); };\n });\n return globalObservable;\n}\n\nfunction relativeToClocks(relative) {\n return { relative: relative, timeStamp: getCorrectedTimeStamp(relative) };\n}\nfunction getCorrectedTimeStamp(relativeTime) {\n var correctedOrigin = Date.now() - performance.now();\n // apply correction only for positive drift\n if (correctedOrigin > getNavigationStart()) {\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands\n return Math.round(correctedOrigin + relativeTime);\n }\n return getTimeStamp(relativeTime);\n}\nfunction currentDrift() {\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands\n return Math.round(Date.now() - (getNavigationStart() + performance.now()));\n}\nfunction toServerDuration(duration) {\n if (!isNumber(duration)) {\n return duration;\n }\n return round(duration * 1e6, 0);\n}\nfunction timeStampNow() {\n return Date.now();\n}\nfunction relativeNow() {\n return performance.now();\n}\nfunction clocksNow() {\n return { relative: relativeNow(), timeStamp: timeStampNow() };\n}\nfunction clocksOrigin() {\n return { relative: 0, timeStamp: getNavigationStart() };\n}\nfunction elapsed(start, end) {\n return (end - start);\n}\n/**\n * Get the time since the navigation was started.\n *\n * Note: this does not use `performance.timeOrigin` because it doesn't seem to reflect the actual\n * time on which the navigation has started: it may be much farther in the past, at least in Firefox 71.\n * Related issue in Firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=1429926\n */\nfunction getRelativeTime(timestamp) {\n return (timestamp - getNavigationStart());\n}\nfunction getTimeStamp(relativeTime) {\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands\n return Math.round(getNavigationStart() + relativeTime);\n}\nfunction looksLikeRelativeTime(time) {\n return time < ONE_YEAR;\n}\n/**\n * Navigation start slightly change on some rare cases\n */\nvar navigationStart;\nfunction getNavigationStart() {\n if (navigationStart === undefined) {\n navigationStart = performance.timing.navigationStart;\n }\n return navigationStart;\n}\n\nvar monitoringConfiguration = { maxMessagesPerPage: 0, sentMessageCount: 0 };\nvar onInternalMonitoringMessageCollected;\nfunction startInternalMonitoring(configuration) {\n var externalContextProvider;\n var telemetryContextProvider;\n var monitoringMessageObservable = new Observable();\n var telemetryEventObservable = new Observable();\n onInternalMonitoringMessageCollected = function (message) {\n monitoringMessageObservable.notify(withContext(message));\n if (isExperimentalFeatureEnabled('telemetry')) {\n telemetryEventObservable.notify(toTelemetryEvent(message));\n }\n };\n assign(monitoringConfiguration, {\n maxMessagesPerPage: configuration.maxInternalMonitoringMessagesPerPage,\n sentMessageCount: 0,\n });\n function withContext(message) {\n return combine({ date: timeStampNow() }, externalContextProvider !== undefined ? externalContextProvider() : {}, message);\n }\n function toTelemetryEvent(message) {\n return combine({\n date: timeStampNow(),\n service: 'browser-sdk',\n version: \"4.6.1\",\n _dd: {\n event_type: 'internal_telemetry',\n },\n }, telemetryContextProvider !== undefined ? telemetryContextProvider() : {}, message);\n }\n return {\n setExternalContextProvider: function (provider) {\n externalContextProvider = provider;\n },\n monitoringMessageObservable: monitoringMessageObservable,\n setTelemetryContextProvider: function (provider) {\n telemetryContextProvider = provider;\n },\n telemetryEventObservable: telemetryEventObservable,\n };\n}\nfunction monitor(fn) {\n return function () {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return callMonitored(fn, this, arguments);\n }; // consider output type has input type\n}\nfunction callMonitored(fn, context, args) {\n try {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return fn.apply(context, args);\n }\n catch (e) {\n logErrorIfDebug(e);\n try {\n addMonitoringError(e);\n }\n catch (e) {\n logErrorIfDebug(e);\n }\n }\n}\nfunction addMonitoringMessage(message, context) {\n logMessageIfDebug(message, context);\n addToMonitoring(assign({\n message: message,\n status: \"debug\" /* debug */,\n }, context));\n}\nfunction addMonitoringError(e) {\n addToMonitoring(assign({\n status: \"error\" /* error */,\n }, formatError(e)));\n}\nfunction addToMonitoring(message) {\n if (onInternalMonitoringMessageCollected &&\n monitoringConfiguration.sentMessageCount < monitoringConfiguration.maxMessagesPerPage) {\n monitoringConfiguration.sentMessageCount += 1;\n onInternalMonitoringMessageCollected(message);\n }\n}\nfunction formatError(e) {\n if (e instanceof Error) {\n var stackTrace = computeStackTrace(e);\n return {\n error: {\n kind: stackTrace.name,\n stack: toStackTraceString(stackTrace),\n },\n message: stackTrace.message,\n };\n }\n return {\n error: {\n stack: 'Not an instance of error',\n },\n message: \"Uncaught \".concat(jsonStringify(e)),\n };\n}\nfunction setDebugMode(debugMode) {\n monitoringConfiguration.debugMode = debugMode;\n}\nfunction logErrorIfDebug(e) {\n if (monitoringConfiguration.debugMode) {\n display.error('[INTERNAL ERROR]', e);\n }\n}\nfunction logMessageIfDebug(message, context) {\n if (monitoringConfiguration.debugMode) {\n display.log('[MONITORING MESSAGE]', message, context);\n }\n}\n\nvar ONE_SECOND = 1000;\nvar ONE_MINUTE = 60 * ONE_SECOND;\nvar ONE_HOUR = 60 * ONE_MINUTE;\nvar ONE_DAY = 24 * ONE_HOUR;\nvar ONE_YEAR = 365 * ONE_DAY;\nvar ONE_KILO_BYTE = 1024;\n// use lodash API\nfunction throttle(fn, wait, options) {\n var needLeadingExecution = options && options.leading !== undefined ? options.leading : true;\n var needTrailingExecution = options && options.trailing !== undefined ? options.trailing : true;\n var inWaitPeriod = false;\n var pendingExecutionWithParameters;\n var pendingTimeoutId;\n return {\n throttled: function () {\n var parameters = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n parameters[_i] = arguments[_i];\n }\n if (inWaitPeriod) {\n pendingExecutionWithParameters = parameters;\n return;\n }\n if (needLeadingExecution) {\n fn.apply(void 0, parameters);\n }\n else {\n pendingExecutionWithParameters = parameters;\n }\n inWaitPeriod = true;\n pendingTimeoutId = setTimeout(function () {\n if (needTrailingExecution && pendingExecutionWithParameters) {\n fn.apply(void 0, pendingExecutionWithParameters);\n }\n inWaitPeriod = false;\n pendingExecutionWithParameters = undefined;\n }, wait);\n },\n cancel: function () {\n clearTimeout(pendingTimeoutId);\n inWaitPeriod = false;\n pendingExecutionWithParameters = undefined;\n },\n };\n}\nfunction assign(target) {\n var toAssign = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n toAssign[_i - 1] = arguments[_i];\n }\n toAssign.forEach(function (source) {\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n });\n return target;\n}\nfunction shallowClone(object) {\n return assign({}, object);\n}\n/**\n * UUID v4\n * from https://gist.github.com/jed/982883\n */\nfunction generateUUID(placeholder) {\n return placeholder\n ? // eslint-disable-next-line no-bitwise\n (parseInt(placeholder, 10) ^ ((Math.random() * 16) >> (parseInt(placeholder, 10) / 4))).toString(16)\n : \"\".concat(1e7, \"-\").concat(1e3, \"-\").concat(4e3, \"-\").concat(8e3, \"-\").concat(1e11).replace(/[018]/g, generateUUID);\n}\n/**\n * Return true if the draw is successful\n * @param threshold between 0 and 100\n */\nfunction performDraw(threshold) {\n return threshold !== 0 && Math.random() * 100 <= threshold;\n}\nfunction round(num, decimals) {\n return +num.toFixed(decimals);\n}\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nfunction noop() { }\n/**\n * Custom implementation of JSON.stringify that ignores value.toJSON.\n * We need to do that because some sites badly override toJSON on certain objects.\n * Note this still supposes that JSON.stringify is correct...\n */\nfunction jsonStringify(value, replacer, space) {\n if (value === null || value === undefined) {\n return JSON.stringify(value);\n }\n var originalToJSON = [false, undefined];\n if (hasToJSON(value)) {\n // We need to add a flag and not rely on the truthiness of value.toJSON\n // because it can be set but undefined and that's actually significant.\n originalToJSON = [true, value.toJSON];\n delete value.toJSON;\n }\n var originalProtoToJSON = [false, undefined];\n var prototype;\n if (typeof value === 'object') {\n prototype = Object.getPrototypeOf(value);\n if (hasToJSON(prototype)) {\n originalProtoToJSON = [true, prototype.toJSON];\n delete prototype.toJSON;\n }\n }\n var result;\n try {\n result = JSON.stringify(value, replacer, space);\n }\n catch (_a) {\n result = '';\n }\n finally {\n if (originalToJSON[0]) {\n value.toJSON = originalToJSON[1];\n }\n if (originalProtoToJSON[0]) {\n prototype.toJSON = originalProtoToJSON[1];\n }\n }\n return result;\n}\nfunction hasToJSON(value) {\n return typeof value === 'object' && value !== null && Object.prototype.hasOwnProperty.call(value, 'toJSON');\n}\nfunction includes(candidate, search) {\n return candidate.indexOf(search) !== -1;\n}\nfunction find(array, predicate) {\n for (var i = 0; i < array.length; i += 1) {\n var item = array[i];\n if (predicate(item, i, array)) {\n return item;\n }\n }\n return undefined;\n}\nfunction findLast(array, predicate) {\n for (var i = array.length - 1; i >= 0; i -= 1) {\n var item = array[i];\n if (predicate(item, i, array)) {\n return item;\n }\n }\n return undefined;\n}\nfunction isPercentage(value) {\n return isNumber(value) && value >= 0 && value <= 100;\n}\nfunction isNumber(value) {\n return typeof value === 'number';\n}\nfunction objectValues(object) {\n return Object.keys(object).map(function (key) { return object[key]; });\n}\nfunction objectHasValue(object, value) {\n return Object.keys(object).some(function (key) { return object[key] === value; });\n}\nfunction objectEntries(object) {\n return Object.keys(object).map(function (key) { return [key, object[key]]; });\n}\nfunction isEmptyObject(object) {\n return Object.keys(object).length === 0;\n}\nfunction mapValues(object, fn) {\n var newObject = {};\n for (var _i = 0, _a = Object.keys(object); _i < _a.length; _i++) {\n var key = _a[_i];\n newObject[key] = fn(object[key]);\n }\n return newObject;\n}\n/**\n * inspired by https://mathiasbynens.be/notes/globalthis\n */\nfunction getGlobalObject() {\n if (typeof globalThis === 'object') {\n return globalThis;\n }\n Object.defineProperty(Object.prototype, '_dd_temp_', {\n get: function () {\n return this;\n },\n configurable: true,\n });\n // @ts-ignore _dd_temp is defined using defineProperty\n var globalObject = _dd_temp_;\n // @ts-ignore _dd_temp is defined using defineProperty\n delete Object.prototype._dd_temp_;\n if (typeof globalObject !== 'object') {\n // on safari _dd_temp_ is available on window but not globally\n // fallback on other browser globals check\n if (typeof self === 'object') {\n globalObject = self;\n }\n else if (typeof window === 'object') {\n globalObject = window;\n }\n else {\n globalObject = {};\n }\n }\n return globalObject;\n}\nfunction getLocationOrigin() {\n return getLinkElementOrigin(window.location);\n}\n/**\n * IE fallback\n * https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/origin\n */\nfunction getLinkElementOrigin(element) {\n if (element.origin) {\n return element.origin;\n }\n var sanitizedHost = element.host.replace(/(:80|:443)$/, '');\n return \"\".concat(element.protocol, \"//\").concat(sanitizedHost);\n}\nfunction findCommaSeparatedValue(rawString, name) {\n var regex = new RegExp(\"(?:^|;)\\\\s*\".concat(name, \"\\\\s*=\\\\s*([^;]+)\"));\n var matches = regex.exec(rawString);\n return matches ? matches[1] : undefined;\n}\nfunction safeTruncate(candidate, length, suffix) {\n if (suffix === void 0) { suffix = ''; }\n var lastChar = candidate.charCodeAt(length - 1);\n var isLastCharSurrogatePair = lastChar >= 0xd800 && lastChar <= 0xdbff;\n var correctedLength = isLastCharSurrogatePair ? length + 1 : length;\n if (candidate.length <= correctedLength)\n return candidate;\n return \"\".concat(candidate.slice(0, correctedLength)).concat(suffix);\n}\n/**\n * Add an event listener to an event emitter object (Window, Element, mock object...). This provides\n * a few conveniences compared to using `element.addEventListener` directly:\n *\n * * supports IE11 by: using an option object only if needed and emulating the `once` option\n *\n * * wraps the listener with a `monitor` function\n *\n * * returns a `stop` function to remove the listener\n */\nfunction addEventListener(emitter, event, listener, options) {\n return addEventListeners(emitter, [event], listener, options);\n}\n/**\n * Add event listeners to an event emitter object (Window, Element, mock object...). This provides\n * a few conveniences compared to using `element.addEventListener` directly:\n *\n * * supports IE11 by: using an option object only if needed and emulating the `once` option\n *\n * * wraps the listener with a `monitor` function\n *\n * * returns a `stop` function to remove the listener\n *\n * * with `once: true`, the listener will be called at most once, even if different events are listened\n */\nfunction addEventListeners(emitter, events, listener, _a) {\n var _b = _a === void 0 ? {} : _a, once = _b.once, capture = _b.capture, passive = _b.passive;\n var wrappedListener = monitor(once\n ? function (event) {\n stop();\n listener(event);\n }\n : listener);\n var options = passive ? { capture: capture, passive: passive } : capture;\n events.forEach(function (event) { return emitter.addEventListener(event, wrappedListener, options); });\n var stop = function () { return events.forEach(function (event) { return emitter.removeEventListener(event, wrappedListener, options); }); };\n return {\n stop: stop,\n };\n}\nfunction runOnReadyState(expectedReadyState, callback) {\n if (document.readyState === expectedReadyState || document.readyState === 'complete') {\n callback();\n }\n else {\n var eventName = expectedReadyState === 'complete' ? \"load\" /* LOAD */ : \"DOMContentLoaded\" /* DOM_CONTENT_LOADED */;\n addEventListener(window, eventName, callback, { once: true });\n }\n}\n/**\n * Similar to `typeof`, but distinguish plain objects from `null` and arrays\n */\nfunction getType(value) {\n if (value === null) {\n return 'null';\n }\n if (Array.isArray(value)) {\n return 'array';\n }\n return typeof value;\n}\nfunction createCircularReferenceChecker() {\n if (typeof WeakSet !== 'undefined') {\n var set_1 = new WeakSet();\n return {\n hasAlreadyBeenSeen: function (value) {\n var has = set_1.has(value);\n if (!has) {\n set_1.add(value);\n }\n return has;\n },\n };\n }\n var array = [];\n return {\n hasAlreadyBeenSeen: function (value) {\n var has = array.indexOf(value) >= 0;\n if (!has) {\n array.push(value);\n }\n return has;\n },\n };\n}\n/**\n * Iterate over source and affect its sub values into destination, recursively.\n * If the source and destination can't be merged, return source.\n */\nfunction mergeInto(destination, source, circularReferenceChecker) {\n if (circularReferenceChecker === void 0) { circularReferenceChecker = createCircularReferenceChecker(); }\n // ignore the source if it is undefined\n if (source === undefined) {\n return destination;\n }\n if (typeof source !== 'object' || source === null) {\n // primitive values - just return source\n return source;\n }\n else if (source instanceof Date) {\n return new Date(source.getTime());\n }\n else if (source instanceof RegExp) {\n var flags = source.flags ||\n // old browsers compatibility\n [\n source.global ? 'g' : '',\n source.ignoreCase ? 'i' : '',\n source.multiline ? 'm' : '',\n source.sticky ? 'y' : '',\n source.unicode ? 'u' : '',\n ].join('');\n return new RegExp(source.source, flags);\n }\n if (circularReferenceChecker.hasAlreadyBeenSeen(source)) {\n // remove circular references\n return undefined;\n }\n else if (Array.isArray(source)) {\n var merged_1 = Array.isArray(destination) ? destination : [];\n for (var i = 0; i < source.length; ++i) {\n merged_1[i] = mergeInto(merged_1[i], source[i], circularReferenceChecker);\n }\n return merged_1;\n }\n var merged = getType(destination) === 'object' ? destination : {};\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n merged[key] = mergeInto(merged[key], source[key], circularReferenceChecker);\n }\n }\n return merged;\n}\n/**\n * A simplistic implementation of a deep clone algorithm.\n * Caveats:\n * - It doesn't maintain prototype chains - don't use with instances of custom classes.\n * - It doesn't handle Map and Set\n */\nfunction deepClone(value) {\n return mergeInto(undefined, value);\n}\nfunction combine() {\n var sources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n sources[_i] = arguments[_i];\n }\n var destination;\n for (var _a = 0, sources_1 = sources; _a < sources_1.length; _a++) {\n var source = sources_1[_a];\n // Ignore any undefined or null sources.\n if (source === undefined || source === null) {\n continue;\n }\n destination = mergeInto(destination, source);\n }\n return destination;\n}\nfunction requestIdleCallback(callback, opts) {\n // Use 'requestIdleCallback' when available: it will throttle the mutation processing if the\n // browser is busy rendering frames (ex: when frames are below 60fps). When not available, the\n // fallback on 'requestAnimationFrame' will still ensure the mutations are processed after any\n // browser rendering process (Layout, Recalculate Style, etc.), so we can serialize DOM nodes\n // efficiently.\n if (window.requestIdleCallback) {\n var id_1 = window.requestIdleCallback(monitor(callback), opts);\n return function () { return window.cancelIdleCallback(id_1); };\n }\n var id = window.requestAnimationFrame(monitor(callback));\n return function () { return window.cancelAnimationFrame(id); };\n}\n\nvar COOKIE_ACCESS_DELAY = ONE_SECOND;\nfunction setCookie(name, value, expireDelay, options) {\n var date = new Date();\n date.setTime(date.getTime() + expireDelay);\n var expires = \"expires=\".concat(date.toUTCString());\n var sameSite = options && options.crossSite ? 'none' : 'strict';\n var domain = options && options.domain ? \";domain=\".concat(options.domain) : '';\n var secure = options && options.secure ? ';secure' : '';\n document.cookie = \"\".concat(name, \"=\").concat(value, \";\").concat(expires, \";path=/;samesite=\").concat(sameSite).concat(domain).concat(secure);\n}\nfunction getCookie(name) {\n return findCommaSeparatedValue(document.cookie, name);\n}\nfunction deleteCookie(name, options) {\n setCookie(name, '', 0, options);\n}\nfunction areCookiesAuthorized(options) {\n if (document.cookie === undefined || document.cookie === null) {\n return false;\n }\n try {\n // Use a unique cookie name to avoid issues when the SDK is initialized multiple times during\n // the test cookie lifetime\n var testCookieName = \"dd_cookie_test_\".concat(generateUUID());\n var testCookieValue = 'test';\n setCookie(testCookieName, testCookieValue, ONE_SECOND, options);\n var isCookieCorrectlySet = getCookie(testCookieName) === testCookieValue;\n deleteCookie(testCookieName, options);\n return isCookieCorrectlySet;\n }\n catch (error) {\n display.error(error);\n return false;\n }\n}\n/**\n * No API to retrieve it, number of levels for subdomain and suffix are unknown\n * strategy: find the minimal domain on which cookies are allowed to be set\n * https://web.dev/same-site-same-origin/#site\n */\nvar getCurrentSiteCache;\nfunction getCurrentSite() {\n if (getCurrentSiteCache === undefined) {\n // Use a unique cookie name to avoid issues when the SDK is initialized multiple times during\n // the test cookie lifetime\n var testCookieName = \"dd_site_test_\".concat(generateUUID());\n var testCookieValue = 'test';\n var domainLevels = window.location.hostname.split('.');\n var candidateDomain = domainLevels.pop();\n while (domainLevels.length && !getCookie(testCookieName)) {\n candidateDomain = \"\".concat(domainLevels.pop(), \".\").concat(candidateDomain);\n setCookie(testCookieName, testCookieValue, ONE_SECOND, { domain: candidateDomain });\n }\n deleteCookie(testCookieName, { domain: candidateDomain });\n getCurrentSiteCache = candidateDomain;\n }\n return getCurrentSiteCache;\n}\n\nfunction catchUserErrors(fn, errorMsg) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n try {\n return fn.apply(void 0, args);\n }\n catch (err) {\n display.error(errorMsg, err);\n }\n };\n}\n\n/**\n * LIMITATION:\n * For NPM setup, this feature flag singleton is shared between RUM and Logs product.\n * This means that an experimental flag set on the RUM product will be set on the Logs product.\n * So keep in mind that in certain configurations, your experimental feature flag may affect other products.\n */\nvar enabledExperimentalFeatures;\nfunction updateExperimentalFeatures(enabledFeatures) {\n // Safely handle external data\n if (!Array.isArray(enabledFeatures)) {\n return;\n }\n if (!enabledExperimentalFeatures) {\n enabledExperimentalFeatures = new Set(enabledFeatures);\n }\n enabledFeatures\n .filter(function (flag) { return typeof flag === 'string'; })\n .forEach(function (flag) {\n enabledExperimentalFeatures.add(flag);\n });\n}\nfunction isExperimentalFeatureEnabled(featureName) {\n return !!enabledExperimentalFeatures && enabledExperimentalFeatures.has(featureName);\n}\n\nfunction normalizeUrl(url) {\n return buildUrl(url, getLocationOrigin()).href;\n}\nfunction isValidUrl(url) {\n try {\n return !!buildUrl(url);\n }\n catch (_a) {\n return false;\n }\n}\nfunction getOrigin(url) {\n return getLinkElementOrigin(buildUrl(url));\n}\nfunction getPathName(url) {\n var pathname = buildUrl(url).pathname;\n return pathname[0] === '/' ? pathname : \"/\".concat(pathname);\n}\nfunction buildUrl(url, base) {\n if (checkURLSupported()) {\n return base !== undefined ? new URL(url, base) : new URL(url);\n }\n if (base === undefined && !/:/.test(url)) {\n throw new Error(\"Invalid URL: '\".concat(url, \"'\"));\n }\n var doc = document;\n var anchorElement = doc.createElement('a');\n if (base !== undefined) {\n doc = document.implementation.createHTMLDocument('');\n var baseElement = doc.createElement('base');\n baseElement.href = base;\n doc.head.appendChild(baseElement);\n doc.body.appendChild(anchorElement);\n }\n anchorElement.href = url;\n return anchorElement;\n}\nvar isURLSupported;\nfunction checkURLSupported() {\n if (isURLSupported !== undefined) {\n return isURLSupported;\n }\n try {\n var url = new URL('http://test/path');\n isURLSupported = url.href === 'http://test/path';\n return isURLSupported;\n }\n catch (_a) {\n isURLSupported = false;\n }\n return isURLSupported;\n}\n\nvar ENDPOINTS = {\n logs: 'logs',\n rum: 'rum',\n sessionReplay: 'session-replay',\n};\nvar INTAKE_TRACKS = {\n logs: 'logs',\n rum: 'rum',\n sessionReplay: 'replay',\n};\nvar INTAKE_SITE_US = 'datadoghq.com';\nfunction createEndpointBuilder(initConfiguration, endpointType, tags, source) {\n var _a = initConfiguration.site, site = _a === void 0 ? INTAKE_SITE_US : _a, clientToken = initConfiguration.clientToken;\n var domainParts = site.split('.');\n var extension = domainParts.pop();\n var host = \"\".concat(ENDPOINTS[endpointType], \".browser-intake-\").concat(domainParts.join('-'), \".\").concat(extension);\n var baseUrl = \"https://\".concat(host, \"/api/v2/\").concat(INTAKE_TRACKS[endpointType]);\n var proxyUrl = initConfiguration.proxyUrl && normalizeUrl(initConfiguration.proxyUrl);\n return {\n build: function () {\n var parameters = \"ddsource=\".concat(source || 'browser') +\n \"&ddtags=\".concat(encodeURIComponent([\"sdk_version:\".concat(\"4.6.1\")].concat(tags).join(','))) +\n \"&dd-api-key=\".concat(clientToken) +\n \"&dd-evp-origin-version=\".concat(encodeURIComponent(\"4.6.1\")) +\n '&dd-evp-origin=browser' +\n \"&dd-request-id=\".concat(generateUUID());\n if (endpointType === 'rum') {\n parameters += \"&batch_time=\".concat(timeStampNow());\n }\n var endpointUrl = \"\".concat(baseUrl, \"?\").concat(parameters);\n return proxyUrl ? \"\".concat(proxyUrl, \"?ddforward=\").concat(encodeURIComponent(endpointUrl)) : endpointUrl;\n },\n buildIntakeUrl: function () {\n return proxyUrl ? \"\".concat(proxyUrl, \"?ddforward\") : baseUrl;\n },\n };\n}\n\nvar TAG_SIZE_LIMIT = 200;\nfunction buildTags(configuration) {\n var env = configuration.env, service = configuration.service, version = configuration.version, datacenter = configuration.datacenter;\n var tags = [];\n if (env) {\n tags.push(buildTag('env', env));\n }\n if (service) {\n tags.push(buildTag('service', service));\n }\n if (version) {\n tags.push(buildTag('version', version));\n }\n if (datacenter) {\n tags.push(buildTag('datacenter', datacenter));\n }\n return tags;\n}\nvar FORBIDDEN_CHARACTERS = /[^a-z0-9_:./-]/;\nfunction buildTag(key, rawValue) {\n // See https://docs.datadoghq.com/getting_started/tagging/#defining-tags for tags syntax. Note\n // that the backend may not follow the exact same rules, so we only want to display an informal\n // warning.\n var valueSizeLimit = TAG_SIZE_LIMIT - key.length - 1;\n if (rawValue.length > valueSizeLimit || FORBIDDEN_CHARACTERS.test(rawValue)) {\n display.warn(\"\".concat(key, \" value doesn't meet tag requirements and will be sanitized\"));\n }\n // Let the backend do most of the sanitization, but still make sure multiple tags can't be crafted\n // by forging a value containing commas.\n var sanitizedValue = rawValue.replace(/,/g, '_');\n return \"\".concat(key, \":\").concat(sanitizedValue);\n}\n\nfunction computeTransportConfiguration(initConfiguration) {\n var tags = buildTags(initConfiguration);\n var endpointBuilders = computeEndpointBuilders(initConfiguration, tags);\n var intakeEndpoints = objectValues(endpointBuilders).map(function (builder) { return builder.buildIntakeUrl(); });\n var replicaConfiguration = computeReplicaConfiguration(initConfiguration, intakeEndpoints, tags);\n return assign({\n isIntakeUrl: function (url) { return intakeEndpoints.some(function (intakeEndpoint) { return url.indexOf(intakeEndpoint) === 0; }); },\n replica: replicaConfiguration,\n }, endpointBuilders);\n}\nfunction computeEndpointBuilders(initConfiguration, tags) {\n var endpointBuilders = {\n logsEndpointBuilder: createEndpointBuilder(initConfiguration, 'logs', tags),\n rumEndpointBuilder: createEndpointBuilder(initConfiguration, 'rum', tags),\n sessionReplayEndpointBuilder: createEndpointBuilder(initConfiguration, 'sessionReplay', tags),\n };\n if (initConfiguration.internalMonitoringApiKey) {\n return assign(endpointBuilders, {\n internalMonitoringEndpointBuilder: createEndpointBuilder(assign({}, initConfiguration, { clientToken: initConfiguration.internalMonitoringApiKey }), 'logs', tags, 'browser-agent-internal-monitoring'),\n });\n }\n return endpointBuilders;\n}\nfunction computeReplicaConfiguration(initConfiguration, intakeEndpoints, tags) {\n if (!initConfiguration.replica) {\n return;\n }\n var replicaConfiguration = assign({}, initConfiguration, {\n site: INTAKE_SITE_US,\n clientToken: initConfiguration.replica.clientToken,\n });\n var replicaEndpointBuilders = {\n logsEndpointBuilder: createEndpointBuilder(replicaConfiguration, 'logs', tags),\n rumEndpointBuilder: createEndpointBuilder(replicaConfiguration, 'rum', tags),\n internalMonitoringEndpointBuilder: createEndpointBuilder(replicaConfiguration, 'logs', tags, 'browser-agent-internal-monitoring'),\n };\n intakeEndpoints.push.apply(intakeEndpoints, objectValues(replicaEndpointBuilders).map(function (builder) { return builder.buildIntakeUrl(); }));\n return assign({ applicationId: initConfiguration.replica.applicationId }, replicaEndpointBuilders);\n}\n\nvar DefaultPrivacyLevel = {\n ALLOW: 'allow',\n MASK: 'mask',\n MASK_USER_INPUT: 'mask-user-input',\n};\nfunction validateAndBuildConfiguration(initConfiguration) {\n var _a;\n if (!initConfiguration || !initConfiguration.clientToken) {\n display.error('Client Token is not configured, we will not send any data.');\n return;\n }\n if (initConfiguration.sampleRate !== undefined && !isPercentage(initConfiguration.sampleRate)) {\n display.error('Sample Rate should be a number between 0 and 100');\n return;\n }\n // Set the experimental feature flags as early as possible, so we can use them in most places\n updateExperimentalFeatures(initConfiguration.enableExperimentalFeatures);\n return assign({\n beforeSend: initConfiguration.beforeSend && catchUserErrors(initConfiguration.beforeSend, 'beforeSend threw an error:'),\n cookieOptions: buildCookieOptions(initConfiguration),\n sampleRate: (_a = initConfiguration.sampleRate) !== null && _a !== void 0 ? _a : 100,\n service: initConfiguration.service,\n silentMultipleInit: !!initConfiguration.silentMultipleInit,\n /**\n * beacon payload max queue size implementation is 64kb\n * ensure that we leave room for logs, rum and potential other users\n */\n batchBytesLimit: 16 * ONE_KILO_BYTE,\n eventRateLimiterThreshold: 3000,\n maxInternalMonitoringMessagesPerPage: 15,\n /**\n * flush automatically, aim to be lower than ALB connection timeout\n * to maximize connection reuse.\n */\n flushTimeout: 30 * ONE_SECOND,\n /**\n * Logs intake limit\n */\n maxBatchSize: 50,\n maxMessageSize: 256 * ONE_KILO_BYTE,\n }, computeTransportConfiguration(initConfiguration));\n}\nfunction buildCookieOptions(initConfiguration) {\n var cookieOptions = {};\n cookieOptions.secure = mustUseSecureCookie(initConfiguration);\n cookieOptions.crossSite = !!initConfiguration.useCrossSiteSessionCookie;\n if (initConfiguration.trackSessionAcrossSubdomains) {\n cookieOptions.domain = getCurrentSite();\n }\n return cookieOptions;\n}\nfunction mustUseSecureCookie(initConfiguration) {\n return !!initConfiguration.useSecureSessionCookie || !!initConfiguration.useCrossSiteSessionCookie;\n}\n\nfunction trackRuntimeError(errorObservable) {\n return startUnhandledErrorCollection(function (stackTrace, errorObject) {\n var _a = formatUnknownError(stackTrace, errorObject, 'Uncaught'), stack = _a.stack, message = _a.message, type = _a.type;\n errorObservable.notify({\n message: message,\n stack: stack,\n type: type,\n source: ErrorSource.SOURCE,\n startClocks: clocksNow(),\n originalError: errorObject,\n handling: \"unhandled\" /* UNHANDLED */,\n });\n });\n}\n\nfunction makePublicApi(stub) {\n var publicApi = assign({\n version: \"4.6.1\",\n // This API method is intentionally not monitored, since the only thing executed is the\n // user-provided 'callback'. All SDK usages executed in the callback should be monitored, and\n // we don't want to interfere with the user uncaught exceptions.\n onReady: function (callback) {\n callback();\n },\n }, stub);\n // Add a \"hidden\" property to set debug mode. We define it that way to hide it\n // as much as possible but of course it's not a real protection.\n Object.defineProperty(publicApi, '_setDebug', {\n get: function () {\n return setDebugMode;\n },\n enumerable: false,\n });\n return publicApi;\n}\nfunction defineGlobal(global, name, api) {\n var existingGlobalVariable = global[name];\n global[name] = api;\n if (existingGlobalVariable && existingGlobalVariable.q) {\n existingGlobalVariable.q.forEach(function (fn) { return catchUserErrors(fn, 'onReady callback threw an error:')(); });\n }\n}\n\nvar RawReportType = {\n intervention: 'intervention',\n deprecation: 'deprecation',\n cspViolation: 'csp_violation',\n};\nfunction initReportObservable(apis) {\n var observables = [];\n if (includes(apis, RawReportType.cspViolation)) {\n observables.push(createCspViolationReportObservable());\n }\n var reportTypes = apis.filter(function (api) { return api !== RawReportType.cspViolation; });\n if (reportTypes.length) {\n observables.push(createReportObservable(reportTypes));\n }\n return mergeObservables.apply(void 0, observables);\n}\nfunction createReportObservable(reportTypes) {\n var observable = new Observable(function () {\n if (!window.ReportingObserver) {\n return;\n }\n var handleReports = monitor(function (reports) {\n return reports.forEach(function (report) {\n observable.notify(buildRawReportFromReport(report));\n });\n });\n var observer = new window.ReportingObserver(handleReports, {\n types: reportTypes,\n buffered: true,\n });\n observer.observe();\n return function () {\n observer.disconnect();\n };\n });\n return observable;\n}\nfunction createCspViolationReportObservable() {\n var observable = new Observable(function () {\n var handleCspViolation = monitor(function (event) {\n observable.notify(buildRawReportFromCspViolation(event));\n });\n var stop = addEventListener(document, \"securitypolicyviolation\" /* SECURITY_POLICY_VIOLATION */, handleCspViolation).stop;\n return stop;\n });\n return observable;\n}\nfunction buildRawReportFromReport(_a) {\n var type = _a.type, body = _a.body;\n return {\n type: type,\n subtype: body.id,\n message: \"\".concat(type, \": \").concat(body.message),\n stack: buildStack(body.id, body.message, body.sourceFile, body.lineNumber, body.columnNumber),\n };\n}\nfunction buildRawReportFromCspViolation(event) {\n var type = RawReportType.cspViolation;\n var message = \"'\".concat(event.blockedURI, \"' blocked by '\").concat(event.effectiveDirective, \"' directive\");\n return {\n type: RawReportType.cspViolation,\n subtype: event.effectiveDirective,\n message: \"\".concat(type, \": \").concat(message),\n stack: buildStack(event.effectiveDirective, \"\".concat(message, \" of the policy \\\"\").concat(safeTruncate(event.originalPolicy, 100, '...'), \"\\\"\"), event.sourceFile, event.lineNumber, event.columnNumber),\n };\n}\nfunction buildStack(name, message, sourceFile, lineNumber, columnNumber) {\n return (sourceFile &&\n toStackTraceString({\n name: name,\n message: message,\n stack: [\n {\n func: '?',\n url: sourceFile,\n line: lineNumber,\n column: columnNumber,\n },\n ],\n }));\n}\n\nvar CLEAR_OLD_CONTEXTS_INTERVAL = ONE_MINUTE;\nvar ContextHistory = /** @class */ (function () {\n function ContextHistory(expireDelay) {\n var _this = this;\n this.expireDelay = expireDelay;\n this.previousContexts = [];\n this.clearOldContextsInterval = setInterval(function () { return _this.clearOldContexts(); }, CLEAR_OLD_CONTEXTS_INTERVAL);\n }\n ContextHistory.prototype.find = function (startTime) {\n if (startTime === undefined ||\n (this.current !== undefined && this.currentStart !== undefined && startTime >= this.currentStart)) {\n return this.current;\n }\n for (var _i = 0, _a = this.previousContexts; _i < _a.length; _i++) {\n var previousContext = _a[_i];\n if (startTime > previousContext.endTime) {\n break;\n }\n if (startTime >= previousContext.startTime) {\n return previousContext.context;\n }\n }\n return undefined;\n };\n ContextHistory.prototype.setCurrent = function (current, startTime) {\n this.current = current;\n this.currentStart = startTime;\n };\n ContextHistory.prototype.getCurrent = function () {\n return this.current;\n };\n ContextHistory.prototype.clearCurrent = function () {\n this.current = undefined;\n this.currentStart = undefined;\n };\n ContextHistory.prototype.closeCurrent = function (endTime) {\n if (this.current !== undefined && this.currentStart !== undefined) {\n this.previousContexts.unshift({\n endTime: endTime,\n context: this.current,\n startTime: this.currentStart,\n });\n this.clearCurrent();\n }\n };\n ContextHistory.prototype.clearOldContexts = function () {\n var oldTimeThreshold = relativeNow() - this.expireDelay;\n while (this.previousContexts.length > 0 &&\n this.previousContexts[this.previousContexts.length - 1].startTime < oldTimeThreshold) {\n this.previousContexts.pop();\n }\n };\n ContextHistory.prototype.reset = function () {\n this.clearCurrent();\n this.previousContexts = [];\n };\n ContextHistory.prototype.stop = function () {\n clearInterval(this.clearOldContextsInterval);\n };\n return ContextHistory;\n}());\n\nfunction isIE() {\n return Boolean(document.documentMode);\n}\nfunction isChromium() {\n return !!window.chrome || /HeadlessChrome/.test(window.navigator.userAgent);\n}\n\nvar SESSION_EXPIRATION_DELAY = 15 * ONE_MINUTE;\nvar SESSION_TIME_OUT_DELAY = 4 * ONE_HOUR;\n/**\n * Different session concepts:\n * - tracked, the session has an id and is updated along the user navigation\n * - not tracked, the session does not have an id but it is updated along the user navigation\n * - inactive, no session in store or session expired, waiting for a renew session\n */\nfunction startSessionStore(options, productKey, computeSessionState) {\n var renewObservable = new Observable();\n var expireObservable = new Observable();\n var watchSessionTimeoutId = setInterval(monitor(watchSession), COOKIE_ACCESS_DELAY);\n var sessionCache = retrieveActiveSession();\n function expandOrRenewSession() {\n var isTracked;\n withCookieLockAccess({\n options: options,\n process: function (cookieSession) {\n var synchronizedSession = synchronizeSession(cookieSession);\n isTracked = expandOrRenewCookie(synchronizedSession);\n return synchronizedSession;\n },\n after: function (cookieSession) {\n if (isTracked && !hasSessionInCache()) {\n renewSession(cookieSession);\n }\n sessionCache = cookieSession;\n },\n });\n }\n function expandSession() {\n withCookieLockAccess({\n options: options,\n process: function (cookieSession) { return (hasSessionInCache() ? synchronizeSession(cookieSession) : undefined); },\n });\n }\n /**\n * allows two behaviors:\n * - if the session is active, synchronize the session cache without updating the session cookie\n * - if the session is not active, clear the session cookie and expire the session cache\n */\n function watchSession() {\n withCookieLockAccess({\n options: options,\n process: function (cookieSession) { return (!isActiveSession(cookieSession) ? {} : undefined); },\n after: synchronizeSession,\n });\n }\n function synchronizeSession(cookieSession) {\n if (!isActiveSession(cookieSession)) {\n cookieSession = {};\n }\n if (hasSessionInCache()) {\n if (isSessionInCacheOutdated(cookieSession)) {\n expireSession();\n }\n else {\n sessionCache = cookieSession;\n }\n }\n return cookieSession;\n }\n function expandOrRenewCookie(cookieSession) {\n var _a = computeSessionState(cookieSession[productKey]), trackingType = _a.trackingType, isTracked = _a.isTracked;\n cookieSession[productKey] = trackingType;\n if (isTracked && !cookieSession.id) {\n cookieSession.id = generateUUID();\n cookieSession.created = String(Date.now());\n }\n return isTracked;\n }\n function hasSessionInCache() {\n return sessionCache[productKey] !== undefined;\n }\n function isSessionInCacheOutdated(cookieSession) {\n return sessionCache.id !== cookieSession.id || sessionCache[productKey] !== cookieSession[productKey];\n }\n function expireSession() {\n sessionCache = {};\n expireObservable.notify();\n }\n function renewSession(cookieSession) {\n sessionCache = cookieSession;\n renewObservable.notify();\n }\n function retrieveActiveSession() {\n var session = retrieveSession();\n if (isActiveSession(session)) {\n return session;\n }\n return {};\n }\n function isActiveSession(session) {\n // created and expire can be undefined for versions which was not storing them\n // these checks could be removed when older versions will not be available/live anymore\n return ((session.created === undefined || Date.now() - Number(session.created) < SESSION_TIME_OUT_DELAY) &&\n (session.expire === undefined || Date.now() < Number(session.expire)));\n }\n return {\n expandOrRenewSession: throttle(monitor(expandOrRenewSession), COOKIE_ACCESS_DELAY).throttled,\n expandSession: expandSession,\n getSession: function () { return sessionCache; },\n renewObservable: renewObservable,\n expireObservable: expireObservable,\n stop: function () {\n clearInterval(watchSessionTimeoutId);\n },\n };\n}\n\nvar SESSION_ENTRY_REGEXP = /^([a-z]+)=([a-z0-9-]+)$/;\nvar SESSION_ENTRY_SEPARATOR = '&';\nvar SESSION_COOKIE_NAME = '_dd_s';\n// arbitrary values\nvar LOCK_RETRY_DELAY = 10;\nvar MAX_NUMBER_OF_LOCK_RETRIES = 100;\nvar bufferedOperations = [];\nvar ongoingOperations;\nfunction withCookieLockAccess(operations, numberOfRetries) {\n var _a;\n if (numberOfRetries === void 0) { numberOfRetries = 0; }\n if (!ongoingOperations) {\n ongoingOperations = operations;\n }\n if (operations !== ongoingOperations) {\n bufferedOperations.push(operations);\n return;\n }\n if (numberOfRetries >= MAX_NUMBER_OF_LOCK_RETRIES) {\n next();\n return;\n }\n var currentLock;\n var currentSession = retrieveSession();\n if (isCookieLockEnabled()) {\n // if someone has lock, retry later\n if (currentSession.lock) {\n retryLater(operations, numberOfRetries);\n return;\n }\n // acquire lock\n currentLock = generateUUID();\n currentSession.lock = currentLock;\n setSession(currentSession, operations.options);\n // if lock is not acquired, retry later\n currentSession = retrieveSession();\n if (currentSession.lock !== currentLock) {\n retryLater(operations, numberOfRetries);\n return;\n }\n }\n var processedSession = operations.process(currentSession);\n if (isCookieLockEnabled()) {\n // if lock corrupted after process, retry later\n currentSession = retrieveSession();\n if (currentSession.lock !== currentLock) {\n retryLater(operations, numberOfRetries);\n return;\n }\n }\n if (processedSession) {\n persistSession(processedSession, operations.options);\n }\n if (isCookieLockEnabled()) {\n // correctly handle lock around expiration would require to handle this case properly at several levels\n // since we don't have evidence of lock issues around expiration, let's just not do the corruption check for it\n if (!(processedSession && isExpiredState(processedSession))) {\n // if lock corrupted after persist, retry later\n currentSession = retrieveSession();\n if (currentSession.lock !== currentLock) {\n retryLater(operations, numberOfRetries);\n return;\n }\n delete currentSession.lock;\n setSession(currentSession, operations.options);\n processedSession = currentSession;\n }\n }\n // call after even if session is not persisted in order to perform operations on\n // up-to-date cookie value, the value could have been modified by another tab\n (_a = operations.after) === null || _a === void 0 ? void 0 : _a.call(operations, processedSession || currentSession);\n next();\n}\n/**\n * Cookie lock strategy allows mitigating issues due to concurrent access to cookie.\n * This issue concerns only chromium browsers and enabling this on firefox increase cookie write failures.\n */\nfunction isCookieLockEnabled() {\n return isChromium();\n}\nfunction retryLater(operations, currentNumberOfRetries) {\n setTimeout(monitor(function () {\n withCookieLockAccess(operations, currentNumberOfRetries + 1);\n }), LOCK_RETRY_DELAY);\n}\nfunction next() {\n ongoingOperations = undefined;\n var nextOperations = bufferedOperations.shift();\n if (nextOperations) {\n withCookieLockAccess(nextOperations);\n }\n}\nfunction persistSession(session, options) {\n if (isExpiredState(session)) {\n clearSession(options);\n return;\n }\n session.expire = String(Date.now() + SESSION_EXPIRATION_DELAY);\n setSession(session, options);\n}\nfunction setSession(session, options) {\n setCookie(SESSION_COOKIE_NAME, toSessionString(session), SESSION_EXPIRATION_DELAY, options);\n}\nfunction toSessionString(session) {\n return objectEntries(session)\n .map(function (_a) {\n var key = _a[0], value = _a[1];\n return \"\".concat(key, \"=\").concat(value);\n })\n .join(SESSION_ENTRY_SEPARATOR);\n}\nfunction retrieveSession() {\n var sessionString = getCookie(SESSION_COOKIE_NAME);\n var session = {};\n if (isValidSessionString(sessionString)) {\n sessionString.split(SESSION_ENTRY_SEPARATOR).forEach(function (entry) {\n var matches = SESSION_ENTRY_REGEXP.exec(entry);\n if (matches !== null) {\n var key = matches[1], value = matches[2];\n session[key] = value;\n }\n });\n }\n return session;\n}\nfunction isValidSessionString(sessionString) {\n return (sessionString !== undefined &&\n (sessionString.indexOf(SESSION_ENTRY_SEPARATOR) !== -1 || SESSION_ENTRY_REGEXP.test(sessionString)));\n}\nfunction isExpiredState(session) {\n return isEmptyObject(session);\n}\nfunction clearSession(options) {\n setCookie(SESSION_COOKIE_NAME, '', 0, options);\n}\n\nvar OLD_SESSION_COOKIE_NAME = '_dd';\nvar OLD_RUM_COOKIE_NAME = '_dd_r';\nvar OLD_LOGS_COOKIE_NAME = '_dd_l';\n// duplicate values to avoid dependency issues\nvar RUM_SESSION_KEY = 'rum';\nvar LOGS_SESSION_KEY = 'logs';\n/**\n * This migration should remain in the codebase as long as older versions are available/live\n * to allow older sdk versions to be upgraded to newer versions without compatibility issues.\n */\nfunction tryOldCookiesMigration(options) {\n var sessionString = getCookie(SESSION_COOKIE_NAME);\n var oldSessionId = getCookie(OLD_SESSION_COOKIE_NAME);\n var oldRumType = getCookie(OLD_RUM_COOKIE_NAME);\n var oldLogsType = getCookie(OLD_LOGS_COOKIE_NAME);\n if (!sessionString) {\n var session = {};\n if (oldSessionId) {\n session.id = oldSessionId;\n }\n if (oldLogsType && /^[01]$/.test(oldLogsType)) {\n session[LOGS_SESSION_KEY] = oldLogsType;\n }\n if (oldRumType && /^[012]$/.test(oldRumType)) {\n session[RUM_SESSION_KEY] = oldRumType;\n }\n persistSession(session, options);\n }\n}\n\nvar VISIBILITY_CHECK_DELAY = ONE_MINUTE;\nvar SESSION_CONTEXT_TIMEOUT_DELAY = SESSION_TIME_OUT_DELAY;\nfunction startSessionManager(options, productKey, computeSessionState) {\n tryOldCookiesMigration(options);\n var sessionStore = startSessionStore(options, productKey, computeSessionState);\n var sessionContextHistory = new ContextHistory(SESSION_CONTEXT_TIMEOUT_DELAY);\n sessionStore.renewObservable.subscribe(function () {\n sessionContextHistory.setCurrent(buildSessionContext(), relativeNow());\n });\n sessionStore.expireObservable.subscribe(function () {\n sessionContextHistory.closeCurrent(relativeNow());\n });\n sessionStore.expandOrRenewSession();\n sessionContextHistory.setCurrent(buildSessionContext(), clocksOrigin().relative);\n trackActivity(function () { return sessionStore.expandOrRenewSession(); });\n trackVisibility(function () { return sessionStore.expandSession(); });\n function buildSessionContext() {\n return {\n id: sessionStore.getSession().id,\n trackingType: sessionStore.getSession()[productKey],\n };\n }\n return {\n findActiveSession: function (startTime) { return sessionContextHistory.find(startTime); },\n renewObservable: sessionStore.renewObservable,\n expireObservable: sessionStore.expireObservable,\n };\n}\nfunction trackActivity(expandOrRenewSession) {\n var stop = addEventListeners(window, [\"click\" /* CLICK */, \"touchstart\" /* TOUCH_START */, \"keydown\" /* KEY_DOWN */, \"scroll\" /* SCROLL */], expandOrRenewSession, { capture: true, passive: true }).stop;\n}\nfunction trackVisibility(expandSession) {\n var expandSessionWhenVisible = monitor(function () {\n if (document.visibilityState === 'visible') {\n expandSession();\n }\n });\n var stop = addEventListener(document, \"visibilitychange\" /* VISIBILITY_CHANGE */, expandSessionWhenVisible).stop;\n var visibilityCheckInterval = setInterval(expandSessionWhenVisible, VISIBILITY_CHECK_DELAY);\n}\n\nvar hasReportedXhrError = false;\n/**\n * Use POST request without content type to:\n * - avoid CORS preflight requests\n * - allow usage of sendBeacon\n *\n * multiple elements are sent separated by \\n in order\n * to be parsed correctly without content type header\n */\nvar HttpRequest = /** @class */ (function () {\n function HttpRequest(endpointBuilder, bytesLimit) {\n this.endpointBuilder = endpointBuilder;\n this.bytesLimit = bytesLimit;\n }\n HttpRequest.prototype.send = function (data, size, flushReason) {\n var url = this.endpointBuilder.build();\n var tryBeacon = !!navigator.sendBeacon && size < this.bytesLimit;\n if (tryBeacon) {\n try {\n var isQueued = navigator.sendBeacon(url, data);\n if (isQueued) {\n return;\n }\n }\n catch (e) {\n reportBeaconError(e);\n }\n }\n var transportIntrospection = function (event) {\n var req = event === null || event === void 0 ? void 0 : event.currentTarget;\n if (req.status >= 200 && req.status < 300) {\n return;\n }\n if (!hasReportedXhrError) {\n hasReportedXhrError = true;\n addMonitoringMessage('XHR fallback failed', {\n on_line: navigator.onLine,\n size: size,\n url: url,\n try_beacon: tryBeacon,\n flush_reason: flushReason,\n event: {\n is_trusted: event.isTrusted,\n total: event.total,\n loaded: event.loaded,\n },\n request: {\n status: req.status,\n ready_state: req.readyState,\n response_text: req.responseText.slice(0, 512),\n },\n });\n }\n };\n var request = new XMLHttpRequest();\n request.addEventListener('loadend', monitor(function (event) { return transportIntrospection(event); }));\n request.open('POST', url, true);\n request.send(data);\n };\n return HttpRequest;\n}());\nvar hasReportedBeaconError = false;\nfunction reportBeaconError(e) {\n if (!hasReportedBeaconError) {\n hasReportedBeaconError = true;\n addMonitoringError(e);\n }\n}\n\n// https://en.wikipedia.org/wiki/UTF-8\n// eslint-disable-next-line no-control-regex\nvar HAS_MULTI_BYTES_CHARACTERS = /[^\\u0000-\\u007F]/;\nvar Batch = /** @class */ (function () {\n function Batch(request, maxSize, bytesLimit, maxMessageSize, flushTimeout, beforeUnloadCallback) {\n if (beforeUnloadCallback === void 0) { beforeUnloadCallback = noop; }\n this.request = request;\n this.maxSize = maxSize;\n this.bytesLimit = bytesLimit;\n this.maxMessageSize = maxMessageSize;\n this.flushTimeout = flushTimeout;\n this.beforeUnloadCallback = beforeUnloadCallback;\n this.pushOnlyBuffer = [];\n this.upsertBuffer = {};\n this.bufferBytesSize = 0;\n this.bufferMessageCount = 0;\n this.flushOnVisibilityHidden();\n this.flushPeriodically();\n }\n Batch.prototype.add = function (message) {\n this.addOrUpdate(message);\n };\n Batch.prototype.upsert = function (message, key) {\n this.addOrUpdate(message, key);\n };\n Batch.prototype.flush = function (reason) {\n if (this.bufferMessageCount !== 0) {\n var messages = this.pushOnlyBuffer.concat(objectValues(this.upsertBuffer));\n this.request.send(messages.join('\\n'), this.bufferBytesSize, reason);\n this.pushOnlyBuffer = [];\n this.upsertBuffer = {};\n this.bufferBytesSize = 0;\n this.bufferMessageCount = 0;\n }\n };\n Batch.prototype.sizeInBytes = function (candidate) {\n // Accurate byte size computations can degrade performances when there is a lot of events to process\n if (!HAS_MULTI_BYTES_CHARACTERS.test(candidate)) {\n return candidate.length;\n }\n if (window.TextEncoder !== undefined) {\n return new TextEncoder().encode(candidate).length;\n }\n return new Blob([candidate]).size;\n };\n Batch.prototype.addOrUpdate = function (message, key) {\n var _a = this.process(message), processedMessage = _a.processedMessage, messageBytesSize = _a.messageBytesSize;\n if (messageBytesSize >= this.maxMessageSize) {\n display.warn(\"Discarded a message whose size was bigger than the maximum allowed size \".concat(this.maxMessageSize, \"KB.\"));\n return;\n }\n if (this.hasMessageFor(key)) {\n this.remove(key);\n }\n if (this.willReachedBytesLimitWith(messageBytesSize)) {\n this.flush('willReachedBytesLimitWith');\n }\n this.push(processedMessage, messageBytesSize, key);\n if (this.isFull()) {\n this.flush('isFull');\n }\n };\n Batch.prototype.process = function (message) {\n var processedMessage = jsonStringify(message);\n var messageBytesSize = this.sizeInBytes(processedMessage);\n return { processedMessage: processedMessage, messageBytesSize: messageBytesSize };\n };\n Batch.prototype.push = function (processedMessage, messageBytesSize, key) {\n if (this.bufferMessageCount > 0) {\n // \\n separator at serialization\n this.bufferBytesSize += 1;\n }\n if (key !== undefined) {\n this.upsertBuffer[key] = processedMessage;\n }\n else {\n this.pushOnlyBuffer.push(processedMessage);\n }\n this.bufferBytesSize += messageBytesSize;\n this.bufferMessageCount += 1;\n };\n Batch.prototype.remove = function (key) {\n var removedMessage = this.upsertBuffer[key];\n delete this.upsertBuffer[key];\n var messageBytesSize = this.sizeInBytes(removedMessage);\n this.bufferBytesSize -= messageBytesSize;\n this.bufferMessageCount -= 1;\n if (this.bufferMessageCount > 0) {\n this.bufferBytesSize -= 1;\n }\n };\n Batch.prototype.hasMessageFor = function (key) {\n return key !== undefined && this.upsertBuffer[key] !== undefined;\n };\n Batch.prototype.willReachedBytesLimitWith = function (messageBytesSize) {\n // byte of the separator at the end of the message\n return this.bufferBytesSize + messageBytesSize + 1 >= this.bytesLimit;\n };\n Batch.prototype.isFull = function () {\n return this.bufferMessageCount === this.maxSize || this.bufferBytesSize >= this.bytesLimit;\n };\n Batch.prototype.flushPeriodically = function () {\n var _this = this;\n setTimeout(monitor(function () {\n _this.flush('flushPeriodically');\n _this.flushPeriodically();\n }), this.flushTimeout);\n };\n Batch.prototype.flushOnVisibilityHidden = function () {\n var _this = this;\n /**\n * With sendBeacon, requests are guaranteed to be successfully sent during document unload\n */\n // @ts-ignore this function is not always defined\n if (navigator.sendBeacon) {\n /**\n * beforeunload is called before visibilitychange\n * register first to be sure to be called before flush on beforeunload\n * caveat: unload can still be canceled by another listener\n */\n addEventListener(window, \"beforeunload\" /* BEFORE_UNLOAD */, this.beforeUnloadCallback);\n /**\n * Only event that guarantee to fire on mobile devices when the page transitions to background state\n * (e.g. when user switches to a different application, goes to homescreen, etc), or is being unloaded.\n */\n addEventListener(document, \"visibilitychange\" /* VISIBILITY_CHANGE */, function () {\n if (document.visibilityState === 'hidden') {\n _this.flush(\"visibilitychange\" /* VISIBILITY_CHANGE */);\n }\n });\n /**\n * Safari does not support yet to send a request during:\n * - a visibility change during doc unload (cf: https://bugs.webkit.org/show_bug.cgi?id=194897)\n * - a page hide transition (cf: https://bugs.webkit.org/show_bug.cgi?id=188329)\n */\n addEventListener(window, \"beforeunload\" /* BEFORE_UNLOAD */, function () { return _this.flush(\"beforeunload\" /* BEFORE_UNLOAD */); });\n }\n };\n return Batch;\n}());\n\nfunction getEventBridge() {\n var eventBridgeGlobal = getEventBridgeGlobal();\n if (!eventBridgeGlobal) {\n return;\n }\n return {\n getAllowedWebViewHosts: function () {\n return JSON.parse(eventBridgeGlobal.getAllowedWebViewHosts());\n },\n send: function (eventType, event) {\n eventBridgeGlobal.send(JSON.stringify({ eventType: eventType, event: event }));\n },\n };\n}\nfunction canUseEventBridge() {\n var bridge = getEventBridge();\n return !!bridge && includes(bridge.getAllowedWebViewHosts(), window.location.hostname);\n}\nfunction getEventBridgeGlobal() {\n return getGlobalObject().DatadogEventBridge;\n}\n\nfunction startBatchWithReplica(configuration, endpoint, replicaEndpoint) {\n var primaryBatch = createBatch(endpoint);\n var replicaBatch;\n if (replicaEndpoint) {\n replicaBatch = createBatch(replicaEndpoint);\n }\n function createBatch(endpointBuilder) {\n return new Batch(new HttpRequest(endpointBuilder, configuration.batchBytesLimit), configuration.maxBatchSize, configuration.batchBytesLimit, configuration.maxMessageSize, configuration.flushTimeout);\n }\n return {\n add: function (message) {\n primaryBatch.add(message);\n if (replicaBatch) {\n replicaBatch.add(message);\n }\n },\n };\n}\n\nfunction createEventRateLimiter(eventType, limit, onLimitReached) {\n var eventCount = 0;\n var allowNextEvent = false;\n return {\n isLimitReached: function () {\n if (eventCount === 0) {\n setTimeout(function () {\n eventCount = 0;\n }, ONE_MINUTE);\n }\n eventCount += 1;\n if (eventCount <= limit || allowNextEvent) {\n allowNextEvent = false;\n return false;\n }\n if (eventCount === limit + 1) {\n allowNextEvent = true;\n try {\n onLimitReached({\n message: \"Reached max number of \".concat(eventType, \"s by minute: \").concat(limit),\n source: ErrorSource.AGENT,\n startClocks: clocksNow(),\n });\n }\n finally {\n allowNextEvent = false;\n }\n }\n return true;\n },\n };\n}\n\nvar xhrObservable;\nvar xhrContexts = new WeakMap();\nfunction initXhrObservable() {\n if (!xhrObservable) {\n xhrObservable = createXhrObservable();\n }\n return xhrObservable;\n}\nfunction createXhrObservable() {\n var observable = new Observable(function () {\n var stopInstrumentingStart = instrumentMethodAndCallOriginal(XMLHttpRequest.prototype, 'open', {\n before: openXhr,\n }).stop;\n var stopInstrumentingSend = instrumentMethodAndCallOriginal(XMLHttpRequest.prototype, 'send', {\n before: function () {\n sendXhr.call(this, observable);\n },\n }).stop;\n var stopInstrumentingAbort = instrumentMethodAndCallOriginal(XMLHttpRequest.prototype, 'abort', {\n before: abortXhr,\n }).stop;\n return function () {\n stopInstrumentingStart();\n stopInstrumentingSend();\n stopInstrumentingAbort();\n };\n });\n return observable;\n}\nfunction openXhr(method, url) {\n xhrContexts.set(this, {\n state: 'open',\n method: method,\n url: normalizeUrl(url.toString()),\n });\n}\nfunction sendXhr(observable) {\n var _this = this;\n var context = xhrContexts.get(this);\n if (!context) {\n return;\n }\n var startContext = context;\n startContext.state = 'start';\n startContext.startTime = relativeNow();\n startContext.startClocks = clocksNow();\n startContext.isAborted = false;\n startContext.xhr = this;\n var hasBeenReported = false;\n var stopInstrumentingOnReadyStateChange = instrumentMethodAndCallOriginal(this, 'onreadystatechange', {\n before: function () {\n if (this.readyState === XMLHttpRequest.DONE) {\n // Try to report the XHR as soon as possible, because the XHR may be mutated by the\n // application during a future event. For example, Angular is calling .abort() on\n // completed requests during a onreadystatechange event, so the status becomes '0'\n // before the request is collected.\n onEnd();\n }\n },\n }).stop;\n var onEnd = monitor(function () {\n _this.removeEventListener('loadend', onEnd);\n stopInstrumentingOnReadyStateChange();\n if (hasBeenReported) {\n return;\n }\n hasBeenReported = true;\n var completeContext = context;\n completeContext.state = 'complete';\n completeContext.duration = elapsed(startContext.startClocks.timeStamp, timeStampNow());\n completeContext.status = _this.status;\n observable.notify(shallowClone(completeContext));\n });\n this.addEventListener('loadend', onEnd);\n observable.notify(startContext);\n}\nfunction abortXhr() {\n var context = xhrContexts.get(this);\n if (context) {\n context.isAborted = true;\n }\n}\n\nvar fetchObservable;\nfunction initFetchObservable() {\n if (!fetchObservable) {\n fetchObservable = createFetchObservable();\n }\n return fetchObservable;\n}\nfunction createFetchObservable() {\n var observable = new Observable(function () {\n if (!window.fetch) {\n return;\n }\n var stop = instrumentMethod(window, 'fetch', function (originalFetch) {\n return function (input, init) {\n var responsePromise;\n var context = callMonitored(beforeSend, null, [observable, input, init]);\n if (context) {\n responsePromise = originalFetch.call(this, context.input, context.init);\n callMonitored(afterSend, null, [observable, responsePromise, context]);\n }\n else {\n responsePromise = originalFetch.call(this, input, init);\n }\n return responsePromise;\n };\n }).stop;\n return stop;\n });\n return observable;\n}\nfunction beforeSend(observable, input, init) {\n var method = (init && init.method) || (typeof input === 'object' && input.method) || 'GET';\n var url = normalizeUrl((typeof input === 'object' && input.url) || input);\n var startClocks = clocksNow();\n var context = {\n state: 'start',\n init: init,\n input: input,\n method: method,\n startClocks: startClocks,\n url: url,\n };\n observable.notify(context);\n return context;\n}\nfunction afterSend(observable, responsePromise, startContext) {\n var reportFetch = function (response) {\n var context = startContext;\n context.state = 'complete';\n context.duration = elapsed(context.startClocks.timeStamp, timeStampNow());\n if ('stack' in response || response instanceof Error) {\n context.status = 0;\n context.isAborted = response instanceof DOMException && response.code === DOMException.ABORT_ERR;\n context.error = response;\n observable.notify(context);\n }\n else if ('status' in response) {\n context.response = response;\n context.responseType = response.type;\n context.status = response.status;\n context.isAborted = false;\n observable.notify(context);\n }\n };\n responsePromise.then(monitor(reportFetch), monitor(reportFetch));\n}\n\nvar ConsoleApiName = {\n log: 'log',\n debug: 'debug',\n info: 'info',\n warn: 'warn',\n error: 'error',\n};\nvar consoleObservablesByApi = {};\nfunction initConsoleObservable(apis) {\n var consoleObservables = apis.map(function (api) {\n if (!consoleObservablesByApi[api]) {\n consoleObservablesByApi[api] = createConsoleObservable(api);\n }\n return consoleObservablesByApi[api];\n });\n return mergeObservables.apply(void 0, consoleObservables);\n}\n/* eslint-disable no-console */\nfunction createConsoleObservable(api) {\n var observable = new Observable(function () {\n var originalConsoleApi = console[api];\n console[api] = function () {\n var params = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n params[_i] = arguments[_i];\n }\n originalConsoleApi.apply(console, params);\n var handlingStack = createHandlingStack();\n callMonitored(function () {\n observable.notify(buildConsoleLog(params, api, handlingStack));\n });\n };\n return function () {\n console[api] = originalConsoleApi;\n };\n });\n return observable;\n}\nfunction buildConsoleLog(params, api, handlingStack) {\n var log = {\n message: [\"console \".concat(api, \":\")]\n .concat(params)\n .map(function (param) { return formatConsoleParameters(param); })\n .join(' '),\n api: api,\n };\n if (api === ConsoleApiName.error) {\n var firstErrorParam = find(params, function (param) { return param instanceof Error; });\n log.stack = firstErrorParam ? toStackTraceString(computeStackTrace(firstErrorParam)) : undefined;\n log.handlingStack = handlingStack;\n }\n return log;\n}\nfunction formatConsoleParameters(param) {\n if (typeof param === 'string') {\n return param;\n }\n if (param instanceof Error) {\n return formatErrorMessage(computeStackTrace(param));\n }\n return jsonStringify(param, undefined, 2);\n}\n\nvar BUFFER_LIMIT = 500;\nvar BoundedBuffer = /** @class */ (function () {\n function BoundedBuffer() {\n this.buffer = [];\n }\n BoundedBuffer.prototype.add = function (callback) {\n var length = this.buffer.push(callback);\n if (length > BUFFER_LIMIT) {\n this.buffer.splice(0, 1);\n }\n };\n BoundedBuffer.prototype.drain = function () {\n this.buffer.forEach(function (callback) { return callback(); });\n this.buffer.length = 0;\n };\n return BoundedBuffer;\n}());\n\nfunction createContextManager() {\n var context = {};\n return {\n get: function () { return context; },\n add: function (key, value) {\n context[key] = value;\n },\n remove: function (key) {\n delete context[key];\n },\n set: function (newContext) {\n context = newContext;\n },\n };\n}\n\n/**\n * Current limitation:\n * - field path do not support array, 'a.b.c' only\n */\nfunction limitModification(object, modifiableFieldPaths, modifier) {\n var clone = deepClone(object);\n var result = modifier(clone);\n modifiableFieldPaths.forEach(function (path) {\n var originalValue = get(object, path);\n var newValue = get(clone, path);\n var originalType = getType(originalValue);\n var newType = getType(newValue);\n if (newType === originalType) {\n set(object, path, newValue);\n }\n else if (originalType === 'object' && (newType === 'undefined' || newType === 'null')) {\n set(object, path, {});\n }\n });\n return result;\n}\nfunction get(object, path) {\n var current = object;\n for (var _i = 0, _a = path.split('.'); _i < _a.length; _i++) {\n var field = _a[_i];\n if (!isValidObjectContaining(current, field)) {\n return;\n }\n current = current[field];\n }\n return current;\n}\nfunction set(object, path, value) {\n var current = object;\n var fields = path.split('.');\n for (var i = 0; i < fields.length; i += 1) {\n var field = fields[i];\n if (!isValidObjectContaining(current, field)) {\n return;\n }\n if (i !== fields.length - 1) {\n current = current[field];\n }\n else {\n current[field] = value;\n }\n }\n}\nfunction isValidObjectContaining(object, field) {\n return typeof object === 'object' && object !== null && field in object;\n}\n\nvar SYNTHETICS_TEST_ID_COOKIE_NAME = 'datadog-synthetics-public-id';\nvar SYNTHETICS_RESULT_ID_COOKIE_NAME = 'datadog-synthetics-result-id';\nvar SYNTHETICS_INJECTS_RUM_COOKIE_NAME = 'datadog-synthetics-injects-rum';\nfunction getSyntheticsContext() {\n var testId = window._DATADOG_SYNTHETICS_PUBLIC_ID || getCookie(SYNTHETICS_TEST_ID_COOKIE_NAME);\n var resultId = window._DATADOG_SYNTHETICS_RESULT_ID || getCookie(SYNTHETICS_RESULT_ID_COOKIE_NAME);\n if (typeof testId === 'string' && typeof resultId === 'string') {\n return {\n test_id: testId,\n result_id: resultId,\n injected: willSyntheticsInjectRum(),\n };\n }\n}\nfunction willSyntheticsInjectRum() {\n return Boolean(window._DATADOG_SYNTHETICS_INJECTS_RUM || getCookie(SYNTHETICS_INJECTS_RUM_COOKIE_NAME));\n}\n\nfunction validateAndBuildRumConfiguration(initConfiguration) {\n var _a, _b;\n if (!initConfiguration.applicationId) {\n display.error('Application ID is not configured, no RUM data will be collected.');\n return;\n }\n if (initConfiguration.replaySampleRate !== undefined && !isPercentage(initConfiguration.replaySampleRate)) {\n display.error('Replay Sample Rate should be a number between 0 and 100');\n return;\n }\n if (initConfiguration.allowedTracingOrigins !== undefined) {\n if (!Array.isArray(initConfiguration.allowedTracingOrigins)) {\n display.error('Allowed Tracing Origins should be an array');\n return;\n }\n if (initConfiguration.allowedTracingOrigins.length !== 0 && initConfiguration.service === undefined) {\n display.error('Service need to be configured when tracing is enabled');\n return;\n }\n }\n var baseConfiguration = validateAndBuildConfiguration(initConfiguration);\n if (!baseConfiguration) {\n return;\n }\n return assign({\n applicationId: initConfiguration.applicationId,\n actionNameAttribute: initConfiguration.actionNameAttribute,\n replaySampleRate: (_a = initConfiguration.replaySampleRate) !== null && _a !== void 0 ? _a : 100,\n allowedTracingOrigins: (_b = initConfiguration.allowedTracingOrigins) !== null && _b !== void 0 ? _b : [],\n trackInteractions: !!initConfiguration.trackInteractions,\n trackViewsManually: !!initConfiguration.trackViewsManually,\n defaultPrivacyLevel: objectHasValue(DefaultPrivacyLevel, initConfiguration.defaultPrivacyLevel)\n ? initConfiguration.defaultPrivacyLevel\n : DefaultPrivacyLevel.MASK_USER_INPUT,\n }, baseConfiguration);\n}\n\nfunction makeRumPublicApi(startRumImpl, recorderApi, _a) {\n var _b = _a === void 0 ? {} : _a, _c = _b.ignoreInitIfSyntheticsWillInjectRum, ignoreInitIfSyntheticsWillInjectRum = _c === void 0 ? true : _c;\n var isAlreadyInitialized = false;\n var globalContextManager = createContextManager();\n var user = {};\n var getInternalContextStrategy = function () { return undefined; };\n var getInitConfigurationStrategy = function () { return undefined; };\n var bufferApiCalls = new BoundedBuffer();\n var addTimingStrategy = function (name, time) {\n if (time === void 0) { time = timeStampNow(); }\n bufferApiCalls.add(function () { return addTimingStrategy(name, time); });\n };\n var startViewStrategy = function (name, startClocks) {\n if (startClocks === void 0) { startClocks = clocksNow(); }\n bufferApiCalls.add(function () { return startViewStrategy(name, startClocks); });\n };\n var addActionStrategy = function (action, commonContext) {\n if (commonContext === void 0) { commonContext = clonedCommonContext(); }\n bufferApiCalls.add(function () { return addActionStrategy(action, commonContext); });\n };\n var addErrorStrategy = function (providedError, commonContext) {\n if (commonContext === void 0) { commonContext = clonedCommonContext(); }\n bufferApiCalls.add(function () { return addErrorStrategy(providedError, commonContext); });\n };\n function clonedCommonContext() {\n return deepClone({\n context: globalContextManager.get(),\n user: user,\n });\n }\n function initRum(initConfiguration) {\n // If we are in a Synthetics test configured to automatically inject a RUM instance, we want to\n // completely discard the customer application RUM instance by ignoring their init() call. But,\n // we should not ignore the init() call from the Synthetics-injected RUM instance, so the\n // internal `ignoreInitIfSyntheticsWillInjectRum` option is here to bypass this condition.\n if (ignoreInitIfSyntheticsWillInjectRum && willSyntheticsInjectRum()) {\n return;\n }\n if (canUseEventBridge()) {\n initConfiguration = overrideInitConfigurationForBridge(initConfiguration);\n }\n else if (!canHandleSession(initConfiguration)) {\n return;\n }\n if (!canInitRum(initConfiguration)) {\n return;\n }\n var configuration = validateAndBuildRumConfiguration(initConfiguration);\n if (!configuration) {\n return;\n }\n if (!configuration.trackViewsManually) {\n doStartRum(configuration);\n }\n else {\n // drain beforeInitCalls by buffering them until we start RUM\n // if we get a startView, drain re-buffered calls before continuing to drain beforeInitCalls\n // in order to ensure that calls are processed in order\n var beforeInitCalls = bufferApiCalls;\n bufferApiCalls = new BoundedBuffer();\n startViewStrategy = function (name) {\n doStartRum(configuration, name);\n };\n beforeInitCalls.drain();\n }\n getInitConfigurationStrategy = function () { return deepClone(initConfiguration); };\n isAlreadyInitialized = true;\n }\n function doStartRum(configuration, initialViewName) {\n var startRumResults = startRumImpl(configuration, function () { return ({\n user: user,\n context: globalContextManager.get(),\n hasReplay: recorderApi.isRecording() ? true : undefined,\n }); }, recorderApi, initialViewName);\n (startViewStrategy = startRumResults.startView, addActionStrategy = startRumResults.addAction, addErrorStrategy = startRumResults.addError, addTimingStrategy = startRumResults.addTiming, getInternalContextStrategy = startRumResults.getInternalContext);\n bufferApiCalls.drain();\n recorderApi.onRumStart(startRumResults.lifeCycle, configuration, startRumResults.session, startRumResults.parentContexts);\n }\n var rumPublicApi = makePublicApi({\n init: monitor(initRum),\n addRumGlobalContext: monitor(globalContextManager.add),\n removeRumGlobalContext: monitor(globalContextManager.remove),\n getRumGlobalContext: monitor(globalContextManager.get),\n setRumGlobalContext: monitor(globalContextManager.set),\n getInternalContext: monitor(function (startTime) { return getInternalContextStrategy(startTime); }),\n getInitConfiguration: monitor(function () { return getInitConfigurationStrategy(); }),\n addAction: monitor(function (name, context) {\n addActionStrategy({\n name: name,\n context: deepClone(context),\n startClocks: clocksNow(),\n type: \"custom\" /* CUSTOM */,\n });\n }),\n addError: function (error, context) {\n var handlingStack = createHandlingStack();\n callMonitored(function () {\n addErrorStrategy({\n error: error,\n handlingStack: handlingStack,\n context: deepClone(context),\n startClocks: clocksNow(),\n });\n });\n },\n addTiming: monitor(function (name, time) {\n addTimingStrategy(name, time);\n }),\n setUser: monitor(function (newUser) {\n var sanitizedUser = sanitizeUser(newUser);\n if (sanitizedUser) {\n user = sanitizedUser;\n }\n else {\n display.error('Unsupported user:', newUser);\n }\n }),\n removeUser: monitor(function () {\n user = {};\n }),\n startView: monitor(function (name) {\n startViewStrategy(name);\n }),\n startSessionReplayRecording: monitor(recorderApi.start),\n stopSessionReplayRecording: monitor(recorderApi.stop),\n });\n return rumPublicApi;\n function sanitizeUser(newUser) {\n if (typeof newUser !== 'object' || !newUser) {\n return;\n }\n var result = deepClone(newUser);\n if ('id' in result) {\n result.id = String(result.id);\n }\n if ('name' in result) {\n result.name = String(result.name);\n }\n if ('email' in result) {\n result.email = String(result.email);\n }\n return result;\n }\n function canHandleSession(initConfiguration) {\n if (!areCookiesAuthorized(buildCookieOptions(initConfiguration))) {\n display.warn('Cookies are not authorized, we will not send any data.');\n return false;\n }\n if (isLocalFile()) {\n display.error('Execution is not allowed in the current context.');\n return false;\n }\n return true;\n }\n function canInitRum(initConfiguration) {\n if (isAlreadyInitialized) {\n if (!initConfiguration.silentMultipleInit) {\n display.error('DD_RUM is already initialized.');\n }\n return false;\n }\n return true;\n }\n function overrideInitConfigurationForBridge(initConfiguration) {\n return assign({}, initConfiguration, {\n applicationId: '00000000-aaaa-0000-aaaa-000000000000',\n clientToken: 'empty',\n sampleRate: 100,\n });\n }\n function isLocalFile() {\n return window.location.protocol === 'file:';\n }\n}\n\nfunction createDOMMutationObservable() {\n var MutationObserver = getMutationObserverConstructor();\n var observable = new Observable(function () {\n if (!MutationObserver) {\n return;\n }\n var observer = new MutationObserver(monitor(function () { return observable.notify(); }));\n observer.observe(document, {\n attributes: true,\n characterData: true,\n childList: true,\n subtree: true,\n });\n return function () { return observer.disconnect(); };\n });\n return observable;\n}\nfunction getMutationObserverConstructor() {\n var constructor;\n var browserWindow = window;\n // Angular uses Zone.js to provide a context persisting across async tasks. Zone.js replaces the\n // global MutationObserver constructor with a patched version to support the context propagation.\n // There is an ongoing issue[1][2] with this setup when using a MutationObserver within a Angular\n // component: on some occasions, the callback is being called in an infinite loop, causing the\n // page to freeze (even if the callback is completely empty).\n //\n // To work around this issue, we are using the Zone __symbol__ API to get the original, unpatched\n // MutationObserver constructor.\n //\n // [1] https://github.com/angular/angular/issues/26948\n // [2] https://github.com/angular/angular/issues/31712\n if (browserWindow.Zone) {\n var symbol = browserWindow.Zone.__symbol__('MutationObserver');\n constructor = browserWindow[symbol];\n }\n if (!constructor) {\n constructor = browserWindow.MutationObserver;\n }\n return constructor;\n}\n\nvar FAKE_INITIAL_DOCUMENT = 'initial_document';\nvar RESOURCE_TYPES = [\n [\"document\" /* DOCUMENT */, function (initiatorType) { return FAKE_INITIAL_DOCUMENT === initiatorType; }],\n [\"xhr\" /* XHR */, function (initiatorType) { return 'xmlhttprequest' === initiatorType; }],\n [\"fetch\" /* FETCH */, function (initiatorType) { return 'fetch' === initiatorType; }],\n [\"beacon\" /* BEACON */, function (initiatorType) { return 'beacon' === initiatorType; }],\n [\"css\" /* CSS */, function (_, path) { return /\\.css$/i.test(path); }],\n [\"js\" /* JS */, function (_, path) { return /\\.js$/i.test(path); }],\n [\n \"image\" /* IMAGE */,\n function (initiatorType, path) {\n return includes(['image', 'img', 'icon'], initiatorType) || /\\.(gif|jpg|jpeg|tiff|png|svg|ico)$/i.exec(path) !== null;\n },\n ],\n [\"font\" /* FONT */, function (_, path) { return /\\.(woff|eot|woff2|ttf)$/i.exec(path) !== null; }],\n [\n \"media\" /* MEDIA */,\n function (initiatorType, path) {\n return includes(['audio', 'video'], initiatorType) || /\\.(mp3|mp4)$/i.exec(path) !== null;\n },\n ],\n];\nfunction computeResourceKind(timing) {\n var url = timing.name;\n if (!isValidUrl(url)) {\n addMonitoringMessage(\"Failed to construct URL for \\\"\".concat(timing.name, \"\\\"\"));\n return \"other\" /* OTHER */;\n }\n var path = getPathName(url);\n for (var _i = 0, RESOURCE_TYPES_1 = RESOURCE_TYPES; _i < RESOURCE_TYPES_1.length; _i++) {\n var _a = RESOURCE_TYPES_1[_i], type = _a[0], isType = _a[1];\n if (isType(timing.initiatorType, path)) {\n return type;\n }\n }\n return \"other\" /* OTHER */;\n}\nfunction areInOrder() {\n var numbers = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n numbers[_i] = arguments[_i];\n }\n for (var i = 1; i < numbers.length; i += 1) {\n if (numbers[i - 1] > numbers[i]) {\n return false;\n }\n }\n return true;\n}\nfunction isRequestKind(timing) {\n return timing.initiatorType === 'xmlhttprequest' || timing.initiatorType === 'fetch';\n}\nfunction computePerformanceResourceDuration(entry) {\n var duration = entry.duration, startTime = entry.startTime, responseEnd = entry.responseEnd;\n // Safari duration is always 0 on timings blocked by cross origin policies.\n if (duration === 0 && startTime < responseEnd) {\n return toServerDuration(elapsed(startTime, responseEnd));\n }\n return toServerDuration(duration);\n}\nfunction computePerformanceResourceDetails(entry) {\n var validEntry = toValidEntry(entry);\n if (!validEntry) {\n return undefined;\n }\n var startTime = validEntry.startTime, fetchStart = validEntry.fetchStart, redirectStart = validEntry.redirectStart, redirectEnd = validEntry.redirectEnd, domainLookupStart = validEntry.domainLookupStart, domainLookupEnd = validEntry.domainLookupEnd, connectStart = validEntry.connectStart, secureConnectionStart = validEntry.secureConnectionStart, connectEnd = validEntry.connectEnd, requestStart = validEntry.requestStart, responseStart = validEntry.responseStart, responseEnd = validEntry.responseEnd;\n var details = {\n download: formatTiming(startTime, responseStart, responseEnd),\n first_byte: formatTiming(startTime, requestStart, responseStart),\n };\n // Make sure a connection occurred\n if (connectEnd !== fetchStart) {\n details.connect = formatTiming(startTime, connectStart, connectEnd);\n // Make sure a secure connection occurred\n if (areInOrder(connectStart, secureConnectionStart, connectEnd)) {\n details.ssl = formatTiming(startTime, secureConnectionStart, connectEnd);\n }\n }\n // Make sure a domain lookup occurred\n if (domainLookupEnd !== fetchStart) {\n details.dns = formatTiming(startTime, domainLookupStart, domainLookupEnd);\n }\n if (hasRedirection(entry)) {\n details.redirect = formatTiming(startTime, redirectStart, redirectEnd);\n }\n return details;\n}\nfunction toValidEntry(entry) {\n // Ensure timings are in the right order. On top of filtering out potential invalid\n // RumPerformanceResourceTiming, it will ignore entries from requests where timings cannot be\n // collected, for example cross origin requests without a \"Timing-Allow-Origin\" header allowing\n // it.\n if (!areInOrder(entry.startTime, entry.fetchStart, entry.domainLookupStart, entry.domainLookupEnd, entry.connectStart, entry.connectEnd, entry.requestStart, entry.responseStart, entry.responseEnd)) {\n return undefined;\n }\n if (!hasRedirection(entry)) {\n return entry;\n }\n var redirectStart = entry.redirectStart, redirectEnd = entry.redirectEnd;\n // Firefox doesn't provide redirect timings on cross origin requests.\n // Provide a default for those.\n if (redirectStart < entry.startTime) {\n redirectStart = entry.startTime;\n }\n if (redirectEnd < entry.startTime) {\n redirectEnd = entry.fetchStart;\n }\n // Make sure redirect timings are in order\n if (!areInOrder(entry.startTime, redirectStart, redirectEnd, entry.fetchStart)) {\n return undefined;\n }\n return assign({}, entry, {\n redirectEnd: redirectEnd,\n redirectStart: redirectStart,\n });\n}\nfunction hasRedirection(entry) {\n // The only time fetchStart is different than startTime is if a redirection occurred.\n return entry.fetchStart !== entry.startTime;\n}\nfunction formatTiming(origin, start, end) {\n return {\n duration: toServerDuration(elapsed(start, end)),\n start: toServerDuration(elapsed(origin, start)),\n };\n}\nfunction computeSize(entry) {\n // Make sure a request actually occurred\n if (entry.startTime < entry.responseStart) {\n return entry.decodedBodySize;\n }\n return undefined;\n}\nfunction isAllowedRequestUrl(configuration, url) {\n return url && !configuration.isIntakeUrl(url);\n}\n\nvar INITIAL_DOCUMENT_OUTDATED_TRACE_ID_THRESHOLD = 2 * ONE_MINUTE;\nfunction getDocumentTraceId(document) {\n var data = getDocumentTraceDataFromMeta(document) || getDocumentTraceDataFromComment(document);\n if (!data || data.traceTime <= Date.now() - INITIAL_DOCUMENT_OUTDATED_TRACE_ID_THRESHOLD) {\n return undefined;\n }\n return data.traceId;\n}\nfunction getDocumentTraceDataFromMeta(document) {\n var traceIdMeta = document.querySelector('meta[name=dd-trace-id]');\n var traceTimeMeta = document.querySelector('meta[name=dd-trace-time]');\n return createDocumentTraceData(traceIdMeta && traceIdMeta.content, traceTimeMeta && traceTimeMeta.content);\n}\nfunction getDocumentTraceDataFromComment(document) {\n var comment = findTraceComment(document);\n if (!comment) {\n return undefined;\n }\n return createDocumentTraceData(findCommaSeparatedValue(comment, 'trace-id'), findCommaSeparatedValue(comment, 'trace-time'));\n}\nfunction createDocumentTraceData(traceId, rawTraceTime) {\n var traceTime = rawTraceTime && Number(rawTraceTime);\n if (!traceId || !traceTime) {\n return undefined;\n }\n return {\n traceId: traceId,\n traceTime: traceTime,\n };\n}\nfunction findTraceComment(document) {\n // 1. Try to find the comment as a direct child of the document\n // Note: TSLint advises to use a 'for of', but TS doesn't allow to use 'for of' if the iterated\n // value is not an array or string (here, a NodeList).\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (var i = 0; i < document.childNodes.length; i += 1) {\n var comment = getTraceCommentFromNode(document.childNodes[i]);\n if (comment) {\n return comment;\n }\n }\n // 2. If the comment is placed after the